diff options
author | rakuco <rakuco@FreeBSD.org> | 2014-06-21 02:37:53 +0800 |
---|---|---|
committer | rakuco <rakuco@FreeBSD.org> | 2014-06-21 02:37:53 +0800 |
commit | 491216f0cb98a9375ccbfba75534b671e3d0fa4e (patch) | |
tree | 99d1c569df8e835f9dbf96427ff1021eac6e93cb /textproc | |
parent | 0c2cc28fd0b91b2bf71bc8d5160404127cb81084 (diff) | |
download | freebsd-ports-gnome-491216f0cb98a9375ccbfba75534b671e3d0fa4e.tar.gz freebsd-ports-gnome-491216f0cb98a9375ccbfba75534b671e3d0fa4e.tar.zst freebsd-ports-gnome-491216f0cb98a9375ccbfba75534b671e3d0fa4e.zip |
- Update to 0.40a.
PR: 190823
Submitted by: Carlos Jacobo Puga Medina <cjpugmed@gmail.com>
Diffstat (limited to 'textproc')
-rw-r--r-- | textproc/pdftohtml/Makefile | 5 | ||||
-rw-r--r-- | textproc/pdftohtml/distinfo | 4 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-SA18303 | 253 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-aconf.h | 11 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-cve-2007-3387 | 22 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-fofi::Makefile | 14 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-splash::Makefile | 17 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-src-HtmlLinks.h | 11 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-src-XRef.cc | 12 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-src::Makefile | 14 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-xpdf-Gfx.cc | 13 | ||||
-rw-r--r-- | textproc/pdftohtml/files/patch-xpdf-GfxState.cc | 14 |
12 files changed, 4 insertions, 386 deletions
diff --git a/textproc/pdftohtml/Makefile b/textproc/pdftohtml/Makefile index 77da57c28d67..17679b2343a7 100644 --- a/textproc/pdftohtml/Makefile +++ b/textproc/pdftohtml/Makefile @@ -2,10 +2,9 @@ # $FreeBSD$ PORTNAME= pdftohtml -PORTVERSION= 0.39 -PORTREVISION= 7 +PORTVERSION= 0.40a CATEGORIES= textproc -MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION} +MASTER_SITES= http://fossies.org/linux/www/ MAINTAINER= ports@FreeBSD.org COMMENT= Command-line tool for converting pdf-files into html diff --git a/textproc/pdftohtml/distinfo b/textproc/pdftohtml/distinfo index a53b202f7232..ae50b18f54ee 100644 --- a/textproc/pdftohtml/distinfo +++ b/textproc/pdftohtml/distinfo @@ -1,2 +1,2 @@ -SHA256 (pdftohtml-0.39.tar.gz) = a27081e595e268f73d153ff42f0f406166fcd4978e634f0dedde0fb21ba37f50 -SIZE (pdftohtml-0.39.tar.gz) = 339831 +SHA256 (pdftohtml-0.40a.tar.gz) = 277ec1c75231b0073a458b1bfa2f98b7a115f5565e53494822ec7f0bcd8d4655 +SIZE (pdftohtml-0.40a.tar.gz) = 498861 diff --git a/textproc/pdftohtml/files/patch-SA18303 b/textproc/pdftohtml/files/patch-SA18303 deleted file mode 100644 index b8010dab5ef5..000000000000 --- a/textproc/pdftohtml/files/patch-SA18303 +++ /dev/null @@ -1,253 +0,0 @@ -Index: xpdf/Stream.h -=================================================================== ---- xpdf/Stream.h -+++ xpdf/Stream.h -@@ -233,6 +233,8 @@ public: - - ~StreamPredictor(); - -+ GBool isOk() { return ok; } -+ - int lookChar(); - int getChar(); - -@@ -250,6 +252,7 @@ private: - int rowBytes; // bytes per line - Guchar *predLine; // line buffer - int predIdx; // current index in predLine -+ GBool ok; - }; - - //------------------------------------------------------------------------ -Index: xpdf/Stream.cc -=================================================================== ---- xpdf/Stream.cc -+++ xpdf/Stream.cc -@@ -15,6 +15,7 @@ - #include <stdio.h> - #include <stdlib.h> - #include <stddef.h> -+#include <limits.h> - #ifndef WIN32 - #include <unistd.h> - #endif -@@ -412,13 +413,28 @@ StreamPredictor::StreamPredictor(Stream - width = widthA; - nComps = nCompsA; - nBits = nBitsA; -+ predLine = NULL; -+ ok = gFalse; - -+ if (width <= 0 || nComps <= 0 || nBits <= 0 || -+ nComps >= INT_MAX/nBits || -+ width >= INT_MAX/nComps/nBits) { -+ return; -+ } - nVals = width * nComps; -+ if (nVals * nBits + 7 <= 0) { -+ return; -+ } - pixBytes = (nComps * nBits + 7) >> 3; - rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes; -+ if (rowBytes < 0) { -+ return; -+ } - predLine = (Guchar *)gmalloc(rowBytes); - memset(predLine, 0, rowBytes); - predIdx = rowBytes; -+ -+ ok = gTrue; - } - - StreamPredictor::~StreamPredictor() { -@@ -1012,6 +1028,10 @@ LZWStream::LZWStream(Stream *strA, int p - FilterStream(strA) { - if (predictor != 1) { - pred = new StreamPredictor(this, predictor, columns, colors, bits); -+ if (!pred->isOk()) { -+ delete pred; -+ pred = NULL; -+ } - } else { - pred = NULL; - } -@@ -1260,6 +1280,10 @@ CCITTFaxStream::CCITTFaxStream(Stream *s - endOfLine = endOfLineA; - byteAlign = byteAlignA; - columns = columnsA; -+ if (columns < 1 || columns >= INT_MAX / sizeof(short)) { -+ error(-1, "invalid number of columns: %d", columns); -+ exit(1); -+ } - rows = rowsA; - endOfBlock = endOfBlockA; - black = blackA; -@@ -2897,6 +2921,11 @@ GBool DCTStream::readBaselineSOF() { - height = read16(); - width = read16(); - numComps = str->getChar(); -+ if (numComps <= 0 || numComps > 4) { -+ numComps = 0; -+ error(getPos(), "Bad number of components in DCT stream"); -+ return gFalse; -+ } - if (prec != 8) { - error(getPos(), "Bad DCT precision %d", prec); - return gFalse; -@@ -2923,6 +2952,11 @@ GBool DCTStream::readProgressiveSOF() { - height = read16(); - width = read16(); - numComps = str->getChar(); -+ if (numComps <= 0 || numComps > 4) { -+ numComps = 0; -+ error(getPos(), "Bad number of components in DCT stream"); -+ return gFalse; -+ } - if (prec != 8) { - error(getPos(), "Bad DCT precision %d", prec); - return gFalse; -@@ -2945,6 +2979,11 @@ GBool DCTStream::readScanInfo() { - - length = read16() - 2; - scanInfo.numComps = str->getChar(); -+ if (scanInfo.numComps <= 0 || scanInfo.numComps > 4) { -+ scanInfo.numComps = 0; -+ error(getPos(), "Bad number of components in DCT stream"); -+ return gFalse; -+ } - --length; - if (length != 2 * scanInfo.numComps + 3) { - error(getPos(), "Bad DCT scan info block"); -@@ -3019,12 +3058,12 @@ GBool DCTStream::readHuffmanTables() { - while (length > 0) { - index = str->getChar(); - --length; -- if ((index & 0x0f) >= 4) { -+ if ((index & ~0x10) >= 4 || (index & ~0x10) < 0) { - error(getPos(), "Bad DCT Huffman table"); - return gFalse; - } - if (index & 0x10) { -- index &= 0x0f; -+ index &= 0x03; - if (index >= numACHuffTables) - numACHuffTables = index+1; - tbl = &acHuffTables[index]; -@@ -3142,9 +3181,11 @@ int DCTStream::readMarker() { - do { - do { - c = str->getChar(); -+ if(c == EOF) return EOF; - } while (c != 0xff); - do { - c = str->getChar(); -+ if(c == EOF) return EOF; - } while (c == 0xff); - } while (c == 0x00); - return c; -@@ -3255,6 +3296,10 @@ FlateStream::FlateStream(Stream *strA, i - FilterStream(strA) { - if (predictor != 1) { - pred = new StreamPredictor(this, predictor, columns, colors, bits); -+ if (!pred->isOk()) { -+ delete pred; -+ pred = NULL; -+ } - } else { - pred = NULL; - } -Index: xpdf/JBIG2Stream.cc -=================================================================== ---- xpdf/JBIG2Stream.cc -+++ xpdf/JBIG2Stream.cc -@@ -7,6 +7,7 @@ - //======================================================================== - - #include <aconf.h> -+#include <limits.h> - - #ifdef USE_GCC_PRAGMAS - #pragma implementation -@@ -681,7 +682,16 @@ JBIG2Bitmap::JBIG2Bitmap(Guint segNumA, - w = wA; - h = hA; - line = (wA + 7) >> 3; -- data = (Guchar *)gmalloc(h * line); -+ -+ if (h < 0 || line <= 0 || h >= (INT_MAX - 1) / line) { -+ error(-1, "invalid width/height"); -+ data = NULL; -+ return; -+ } -+ -+ // need to allocate one extra guard byte for use in combine() -+ data = (Guchar *)gmalloc(h * line + 1); -+ data[h * line] = 0; - } - - JBIG2Bitmap::JBIG2Bitmap(Guint segNumA, JBIG2Bitmap *bitmap): -@@ -690,8 +700,17 @@ JBIG2Bitmap::JBIG2Bitmap(Guint segNumA, - w = bitmap->w; - h = bitmap->h; - line = bitmap->line; -- data = (Guchar *)gmalloc(h * line); -+ -+ if (h < 0 || line <= 0 || h >= (INT_MAX - 1) / line) { -+ error(-1, "invalid width/height"); -+ data = NULL; -+ return; -+ } -+ -+ // need to allocate one extra guard byte for use in combine() -+ data = (Guchar *)gmalloc(h * line + 1); - memcpy(data, bitmap->data, h * line); -+ data[h * line] = 0; - } - - JBIG2Bitmap::~JBIG2Bitmap() { -@@ -716,10 +735,14 @@ JBIG2Bitmap *JBIG2Bitmap::getSlice(Guint - } - - void JBIG2Bitmap::expand(int newH, Guint pixel) { -- if (newH <= h) { -+ if (newH <= h || line <= 0 || newH >= (INT_MAX - 1) / line) { -+ error(-1, "invalid width/height"); -+ gfree(data); -+ data = NULL; - return; - } -- data = (Guchar *)grealloc(data, newH * line); -+ // need to allocate one extra guard byte for use in combine() -+ data = (Guchar *)grealloc(data, newH * line + 1); - if (pixel) { - memset(data + h * line, 0xff, (newH - h) * line); - } else { -@@ -2256,6 +2279,15 @@ void JBIG2Stream::readHalftoneRegionSeg( - error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment"); - return; - } -+ if (gridH == 0 || gridW >= INT_MAX / gridH) { -+ error(getPos(), "Bad size in JBIG2 halftone segment"); -+ return; -+ } -+ if (w == 0 || h >= INT_MAX / w) { -+ error(getPos(), "Bad size in JBIG2 bitmap segment"); -+ return; -+ } -+ - patternDict = (JBIG2PatternDict *)seg; - bpp = 0; - i = 1; -@@ -2887,6 +2919,11 @@ JBIG2Bitmap *JBIG2Stream::readGenericRef - JBIG2BitmapPtr tpgrCXPtr0, tpgrCXPtr1, tpgrCXPtr2; - int x, y, pix; - -+ if (w < 0 || h <= 0 || w >= INT_MAX / h) { -+ error(-1, "invalid width/height"); -+ return NULL; -+ } -+ - bitmap = new JBIG2Bitmap(0, w, h); - bitmap->clearToZero(); - -# vim: syntax=diff diff --git a/textproc/pdftohtml/files/patch-aconf.h b/textproc/pdftohtml/files/patch-aconf.h deleted file mode 100644 index 9d4185203910..000000000000 --- a/textproc/pdftohtml/files/patch-aconf.h +++ /dev/null @@ -1,11 +0,0 @@ ---- aconf.h.orig Wed Jun 25 00:41:27 2003 -+++ aconf.h Wed Jun 25 09:27:43 2003 -@@ -51,7 +51,7 @@ - /* #undef HAVE_BSTRING_H */ - #define HAVE_POPEN 1 - #define HAVE_MKSTEMP 1 --#define HAVE_MKSTEMPS 0 -+#define HAVE_MKSTEMPS 1 - /* #undef SELECT_TAKES_INT */ - #define GHOSTSCRIPT "gs" - diff --git a/textproc/pdftohtml/files/patch-cve-2007-3387 b/textproc/pdftohtml/files/patch-cve-2007-3387 deleted file mode 100644 index 573487ee06df..000000000000 --- a/textproc/pdftohtml/files/patch-cve-2007-3387 +++ /dev/null @@ -1,22 +0,0 @@ ---- xpdf/Stream.cc.orig 2009-04-29 01:11:24.000000000 +0400 -+++ xpdf/Stream.cc 2009-04-29 01:15:47.000000000 +0400 -@@ -33,6 +33,7 @@ - #include "JBIG2Stream.h" - #include "JPXStream.h" - #include "Stream-CCITT.h" -+#include "Function.h" - - #ifdef __DJGPP__ - static GBool setDJSYSFLAGS = gFalse; -@@ -417,8 +418,9 @@ - ok = gFalse; - - if (width <= 0 || nComps <= 0 || nBits <= 0 || -- nComps >= INT_MAX/nBits || -- width >= INT_MAX/nComps/nBits) { -+ nComps > funcMaxOutputs || nBits > 16 || -+ width >= INT_MAX / nComps || -+ nVals >= (INT_MAX - 7) / nBits) { - return; - } - nVals = width * nComps; diff --git a/textproc/pdftohtml/files/patch-fofi::Makefile b/textproc/pdftohtml/files/patch-fofi::Makefile deleted file mode 100644 index e18e6cb2e481..000000000000 --- a/textproc/pdftohtml/files/patch-fofi::Makefile +++ /dev/null @@ -1,14 +0,0 @@ ---- fofi/Makefile.orig 2011-12-19 11:57:17.000000000 +0000 -+++ fofi/Makefile 2011-12-19 12:14:09.000000000 +0000 -@@ -14,9 +14,9 @@ - GOOSRCDIR = $(srcdir)/../goo
- GOOLIBDIR = ../goo
-
--CXXFLAGS = -DHAVE_CONFIG_H -I.. -I$(GOOSRCDIR) -I$(srcdir)
-+CXXFLAGS += -DHAVE_CONFIG_H -I.. -I$(GOOSRCDIR) -I$(srcdir)
-
--CXX = g++
-+CXX ?= g++
- AR = ar rc
- RANLIB = ranlib
-
diff --git a/textproc/pdftohtml/files/patch-splash::Makefile b/textproc/pdftohtml/files/patch-splash::Makefile deleted file mode 100644 index 5282a38a5ca5..000000000000 --- a/textproc/pdftohtml/files/patch-splash::Makefile +++ /dev/null @@ -1,17 +0,0 @@ - -$FreeBSD$ - ---- splash/Makefile -+++ splash/Makefile -@@ -16,9 +16,9 @@ - FOFISRCDIR = $(srcdir)/../fofi - FOFILIBDIR = ../fofi - --CXXFLAGS = -DHAVE_CONFIG_H -I.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(srcdir) -+CXXFLAGS += -DHAVE_CONFIG_H -I.. -I$(GOOSRCDIR) -I$(FOFISRCDIR) -I$(srcdir) - --CXX = g++ -+CXX ?= g++ - AR = ar rc - RANLIB = ranlib - diff --git a/textproc/pdftohtml/files/patch-src-HtmlLinks.h b/textproc/pdftohtml/files/patch-src-HtmlLinks.h deleted file mode 100644 index 1f7304bc1277..000000000000 --- a/textproc/pdftohtml/files/patch-src-HtmlLinks.h +++ /dev/null @@ -1,11 +0,0 @@ ---- src/HtmlLinks.h.orig Wed Mar 28 04:13:45 2007 -+++ src/HtmlLinks.h Wed Mar 28 04:13:56 2007 -@@ -19,7 +19,7 @@ - HtmlLink& operator=(const HtmlLink& x); - HtmlLink(double xmin,double ymin,double xmax,double ymax,GString *_dest); - ~HtmlLink(); -- GBool HtmlLink::isEqualDest(const HtmlLink& x) const; -+ GBool isEqualDest(const HtmlLink& x) const; - GString *getDest(){return new GString(dest);} - double getX1() const {return Xmin;} - double getX2() const {return Xmax;} diff --git a/textproc/pdftohtml/files/patch-src-XRef.cc b/textproc/pdftohtml/files/patch-src-XRef.cc deleted file mode 100644 index c352ea43448a..000000000000 --- a/textproc/pdftohtml/files/patch-src-XRef.cc +++ /dev/null @@ -1,12 +0,0 @@ ---- xpdf/XRef.cc.orig Wed Jun 25 00:41:27 2003 -+++ xpdf/XRef.cc Fri Jan 28 14:25:54 2005 -@@ -486,6 +486,9 @@ - } else { - keyLength = 5; - } -+ if (keyLength > 16) { -+ keyLength = 16; -+ } - permFlags = permissions.getInt(); - if (encVersion >= 1 && encVersion <= 2 && - encRevision >= 2 && encRevision <= 3) { diff --git a/textproc/pdftohtml/files/patch-src::Makefile b/textproc/pdftohtml/files/patch-src::Makefile deleted file mode 100644 index d3ba7fb85d02..000000000000 --- a/textproc/pdftohtml/files/patch-src::Makefile +++ /dev/null @@ -1,14 +0,0 @@ - -$FreeBSD$ - ---- src/Makefile -+++ src/Makefile -@@ -11,7 +11,7 @@ - SPLASHSRCDIR = ../splash - SPLASHLIBDIR = ../splash - --CXXFLAGS = -DHAVE_CONFIG_H -DHAVE_DIRENT_H=1 -I.. -DHAVE_REWINDDIR=1 -DHAVE_POPEN=1 -I.. -I$(GOOSRCDIR) -I$(XPDFSRCDIR) -I$(FOFISRCDIR) -I$(SPLASHSRCDIR) -I$(srcdir) -I/usr/X11R6/include -+CXXFLAGS += -DHAVE_CONFIG_H -DHAVE_DIRENT_H=1 -I.. -DHAVE_REWINDDIR=1 -DHAVE_POPEN=1 -I.. -I$(GOOSRCDIR) -I$(XPDFSRCDIR) -I$(FOFISRCDIR) -I$(SPLASHSRCDIR) -I$(srcdir) -I/usr/X11R6/include - - LDFLAGS = - diff --git a/textproc/pdftohtml/files/patch-xpdf-Gfx.cc b/textproc/pdftohtml/files/patch-xpdf-Gfx.cc deleted file mode 100644 index 3ca8e8a404e5..000000000000 --- a/textproc/pdftohtml/files/patch-xpdf-Gfx.cc +++ /dev/null @@ -1,13 +0,0 @@ ---- xpdf/Gfx.cc.orig Wed Jun 25 00:41:27 2003 -+++ xpdf/Gfx.cc Tue Jan 11 18:21:14 2005 -@@ -2381,7 +2381,9 @@ - haveMask = gFalse; - dict->lookup("Mask", &maskObj); - if (maskObj.isArray()) { -- for (i = 0; i < maskObj.arrayGetLength(); ++i) { -+ for (i = 0; -+ i < maskObj.arrayGetLength() && i < 2*gfxColorMaxComps; -+ ++i) { - maskObj.arrayGet(i, &obj1); - maskColors[i] = obj1.getInt(); - obj1.free(); diff --git a/textproc/pdftohtml/files/patch-xpdf-GfxState.cc b/textproc/pdftohtml/files/patch-xpdf-GfxState.cc deleted file mode 100644 index 8f91ca3ab79c..000000000000 --- a/textproc/pdftohtml/files/patch-xpdf-GfxState.cc +++ /dev/null @@ -1,14 +0,0 @@ ---- xpdf/GfxState.cc.orig Wed Jun 25 00:41:27 2003 -+++ xpdf/GfxState.cc Tue Jan 11 18:21:14 2005 -@@ -708,6 +708,11 @@ - } - nCompsA = obj2.getInt(); - obj2.free(); -+ if (nCompsA > gfxColorMaxComps) { -+ error(-1, "ICCBased color space with too many (%d > %d) components", -+ nCompsA, gfxColorMaxComps); -+ nCompsA = gfxColorMaxComps; -+ } - if (dict->lookup("Alternate", &obj2)->isNull() || - !(altA = GfxColorSpace::parse(&obj2))) { - switch (nCompsA) { |