summaryrefslogtreecommitdiff
path: root/graphics/kdegraphics4
diff options
context:
space:
mode:
authorMichael Nottebrock <lofi@FreeBSD.org>2007-03-13 19:13:51 +0000
committerMichael Nottebrock <lofi@FreeBSD.org>2007-03-13 19:13:51 +0000
commita209c5b185423decb49344e360900c7bd7e43222 (patch)
treebeea7a17a306cd21cbbf4ce8ce1eae64ec530cca /graphics/kdegraphics4
parent2007-03-09 sysutils/diskusage: Unmainntaied, MASTER_SITES disappeared, WWW di... (diff)
Update to KDE 3.5.6 / KOffice 1.6.2
Notes
Notes: svn path=/head/; revision=187334
Diffstat (limited to 'graphics/kdegraphics4')
-rw-r--r--graphics/kdegraphics4/Makefile1
-rw-r--r--graphics/kdegraphics4/distinfo6
-rw-r--r--graphics/kdegraphics4/files/patch-post-3.5.5-kdegraphics-CVE-2007-0104.diff61
-rw-r--r--graphics/kdegraphics4/files/patch-post-3.5.5-kdegraphics.diff134
4 files changed, 3 insertions, 199 deletions
diff --git a/graphics/kdegraphics4/Makefile b/graphics/kdegraphics4/Makefile
index e316a72b0b35..abe09d60e488 100644
--- a/graphics/kdegraphics4/Makefile
+++ b/graphics/kdegraphics4/Makefile
@@ -8,7 +8,6 @@
PORTNAME= kdegraphics
PORTVERSION= ${KDE_VERSION}
-PORTREVISION= 1
CATEGORIES= graphics kde
MASTER_SITES= ${MASTER_SITE_KDE}
MASTER_SITE_SUBDIR= stable/${PORTVERSION:S/.0//}/src
diff --git a/graphics/kdegraphics4/distinfo b/graphics/kdegraphics4/distinfo
index 3ec4b021f4d2..f464c51b95e6 100644
--- a/graphics/kdegraphics4/distinfo
+++ b/graphics/kdegraphics4/distinfo
@@ -1,3 +1,3 @@
-MD5 (KDE/kdegraphics-3.5.5.tar.bz2) = cdbe15afc01c5da7af9557e803bbb7e6
-SHA256 (KDE/kdegraphics-3.5.5.tar.bz2) = b6706d37568686e1ca4b4bb2cf1f79c027b94a512f6fe1156b7c7b7f79336f16
-SIZE (KDE/kdegraphics-3.5.5.tar.bz2) = 7334117
+MD5 (KDE/kdegraphics-3.5.6.tar.bz2) = 79a1ffb7ae89bede1410411a30be3210
+SHA256 (KDE/kdegraphics-3.5.6.tar.bz2) = 2c397f3c524b7c465e6d9289944aa8ed2acc43c8bafb983eb3f252aba7a19a1f
+SIZE (KDE/kdegraphics-3.5.6.tar.bz2) = 7332938
diff --git a/graphics/kdegraphics4/files/patch-post-3.5.5-kdegraphics-CVE-2007-0104.diff b/graphics/kdegraphics4/files/patch-post-3.5.5-kdegraphics-CVE-2007-0104.diff
deleted file mode 100644
index 092cf67f360b..000000000000
--- a/graphics/kdegraphics4/files/patch-post-3.5.5-kdegraphics-CVE-2007-0104.diff
+++ /dev/null
@@ -1,61 +0,0 @@
---- kpdf/xpdf/xpdf/Catalog.cc
-+++ kpdf/xpdf/xpdf/Catalog.cc
-@@ -26,6 +26,12 @@
- #include "UGString.h"
- #include "Catalog.h"
-
-+// This define is used to limit the depth of recursive readPageTree calls
-+// This is needed because the page tree nodes can reference their parents
-+// leaving us in an infinite loop
-+// Most sane pdf documents don't have a call depth higher than 10
-+#define MAX_CALL_DEPTH 1000
-+
- //------------------------------------------------------------------------
- // Catalog
- //------------------------------------------------------------------------
-@@ -76,7 +82,7 @@ Catalog::Catalog(XRef *xrefA) {
- pageRefs[i].num = -1;
- pageRefs[i].gen = -1;
- }
-- numPages = readPageTree(pagesDict.getDict(), NULL, 0);
-+ numPages = readPageTree(pagesDict.getDict(), NULL, 0, 0);
- if (numPages != numPages0) {
- error(-1, "Page count in top-level pages object is incorrect");
- }
-@@ -191,7 +197,7 @@ GString *Catalog::readMetadata() {
- return s;
- }
-
--int Catalog::readPageTree(Dict *pagesDict, PageAttrs *attrs, int start) {
-+int Catalog::readPageTree(Dict *pagesDict, PageAttrs *attrs, int start, int callDepth) {
- Object kids;
- Object kid;
- Object kidRef;
-@@ -236,9 +242,13 @@ int Catalog::readPageTree(Dict *pagesDic
- // This should really be isDict("Pages"), but I've seen at least one
- // PDF file where the /Type entry is missing.
- } else if (kid.isDict()) {
-- if ((start = readPageTree(kid.getDict(), attrs1, start))
-- < 0)
-- goto err2;
-+ if (callDepth > MAX_CALL_DEPTH) {
-+ error(-1, "Limit of %d recursive calls reached while reading the page tree. If your document is correct and not a test to try to force a crash, please report a bug.", MAX_CALL_DEPTH);
-+ } else {
-+ if ((start = readPageTree(kid.getDict(), attrs1, start, callDepth + 1))
-+ < 0)
-+ goto err2;
-+ }
- } else {
- error(-1, "Kid object (page %d) is wrong type (%s)",
- start+1, kid.getTypeName());
---- kpdf/xpdf/xpdf/Catalog.h
-+++ kpdf/xpdf/xpdf/Catalog.h
-@@ -128,7 +128,7 @@ private:
- Object acroForm; // AcroForm dictionary
- GBool ok; // true if catalog is valid
-
-- int readPageTree(Dict *pages, PageAttrs *attrs, int start);
-+ int readPageTree(Dict *pages, PageAttrs *attrs, int start, int callDepth);
- Object *findDestInTree(Object *tree, GString *name, Object *obj);
- };
-
diff --git a/graphics/kdegraphics4/files/patch-post-3.5.5-kdegraphics.diff b/graphics/kdegraphics4/files/patch-post-3.5.5-kdegraphics.diff
deleted file mode 100644
index 881b81757ab4..000000000000
--- a/graphics/kdegraphics4/files/patch-post-3.5.5-kdegraphics.diff
+++ /dev/null
@@ -1,134 +0,0 @@
---- kfile-plugins/jpeg/exif.h
-+++ kfile-plugins/jpeg/exif.h
-@@ -72,7 +72,8 @@
- int Get32s(void * Long);
- unsigned Get32u(void * Long);
- double ConvertAnyFormat(void * ValuePtr, int Format);
-- void ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBase, unsigned ExifLength);
-+ void ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBase, unsigned ExifLength,
-+ unsigned NestingLevel);
- void process_COM (const uchar * Data, int length);
- void process_SOFn (const uchar * Data, int marker);
- int Get16m(const void * Short);
---- kfile-plugins/jpeg/exif.cpp
-+++ kfile-plugins/jpeg/exif.cpp
-@@ -446,7 +446,7 @@
- //--------------------------------------------------------------------------
- // Process one of the nested EXIF directories.
- //--------------------------------------------------------------------------
--void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBase, unsigned ExifLength)
-+void ExifData::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBase, unsigned ExifLength, unsigned NestingLevel)
- {
- int de;
- int a;
-@@ -454,6 +454,9 @@
- unsigned ThumbnailOffset = 0;
- unsigned ThumbnailSize = 0;
-
-+ if ( NestingLevel > 4)
-+ throw FatalError("Maximum directory nesting exceeded (corrupt exif header)");
-+
- NumDirEntries = Get16u(DirStart);
- #define DIR_ENTRY_ADDR(Start, Entry) (Start+2+12*(Entry))
-
-@@ -476,7 +479,7 @@
- for (de=0;de<NumDirEntries;de++){
- int Tag, Format, Components;
- unsigned char * ValuePtr;
-- int ByteCount;
-+ unsigned ByteCount;
- char * DirEntry;
- DirEntry = (char *)DIR_ENTRY_ADDR(DirStart, de);
-
-@@ -489,6 +492,11 @@
- throw FatalError("Illegal format code in EXIF dir");
- }
-
-+ if ((unsigned)Components > 0x10000) {
-+ throw FatalError("Illegal number of components for tag");
-+ continue;
-+ }
-+
- ByteCount = Components * BytesPerFormat[Format];
-
- if (ByteCount > 4){
-@@ -517,11 +525,11 @@
- switch(Tag){
-
- case TAG_MAKE:
-- ExifData::CameraMake = QString((char*)ValuePtr);
-+ ExifData::CameraMake = QString::fromLatin1((const char*)ValuePtr, 31);
- break;
-
- case TAG_MODEL:
-- ExifData::CameraModel = QString((char*)ValuePtr);
-+ ExifData::CameraModel = QString::fromLatin1((const char*)ValuePtr, 39);
- break;
-
- case TAG_ORIENTATION:
-@@ -529,7 +537,7 @@
- break;
-
- case TAG_DATETIME_ORIGINAL:
-- DateTime = QString((char*)ValuePtr);
-+ DateTime = QString::fromLatin1((const char*)ValuePtr, 19);
- break;
-
- case TAG_USERCOMMENT:
-@@ -550,14 +558,12 @@
- int c;
- c = (ValuePtr)[a];
- if (c != '\0' && c != ' '){
-- //strncpy(ImageInfo.Comments, (const char*)(a+ValuePtr), 199);
-- UserComment.sprintf("%s", (const char*)(a+ValuePtr));
-+ UserComment = QString::fromLatin1((const char*)(a+ValuePtr), 199);
- break;
- }
- }
- }else{
-- //strncpy(ImageInfo.Comments, (const char*)ValuePtr, 199);
-- UserComment.sprintf("%s", (const char*)ValuePtr);
-+ UserComment = QString::fromLatin1((const char*)ValuePtr, 199);
- }
- break;
-
-@@ -676,10 +682,10 @@
- if (Tag == TAG_EXIF_OFFSET || Tag == TAG_INTEROP_OFFSET){
- unsigned char * SubdirStart;
- SubdirStart = OffsetBase + Get32u(ValuePtr);
-- if (SubdirStart < OffsetBase || SubdirStart > OffsetBase+ExifLength){
-+ if (SubdirStart <= OffsetBase || SubdirStart >= OffsetBase+ExifLength){
- throw FatalError("Illegal subdirectory link");
- }
-- ProcessExifDir(SubdirStart, OffsetBase, ExifLength);
-+ ProcessExifDir(SubdirStart, OffsetBase, ExifLength, NestingLevel+1);
- continue;
- }
- }
-@@ -709,7 +715,7 @@
- }
- }else{
- if (SubdirStart <= OffsetBase+ExifLength){
-- ProcessExifDir(SubdirStart, OffsetBase, ExifLength);
-+ ProcessExifDir(SubdirStart, OffsetBase, ExifLength, NestingLevel+1);
- }
- }
- }
-@@ -719,7 +725,7 @@
- }
-
- if (ThumbnailSize && ThumbnailOffset){
-- if (ThumbnailSize + ThumbnailOffset <= ExifLength){
-+ if (ThumbnailSize + ThumbnailOffset < ExifLength){
- // The thumbnail pointer appears to be valid. Store it.
- Thumbnail.loadFromData(OffsetBase + ThumbnailOffset, ThumbnailSize, "JPEG");
- }
-@@ -810,7 +816,7 @@
- LastExifRefd = CharBuf;
-
- // First directory starts 16 bytes in. Offsets start at 8 bytes in.
-- ProcessExifDir(CharBuf+16, CharBuf+8, length-6);
-+ ProcessExifDir(CharBuf+16, CharBuf+8, length-6, 0);
-
- // This is how far the interesting (non thumbnail) part of the exif went.
- ExifSettingsLength = LastExifRefd - CharBuf;