Hello community, here is the log from the commit of package kdegraphics3 for openSUSE:Factory checked in at Mon Sep 19 22:52:19 CEST 2011.
-------- New Changes file: --- /dev/null 2010-08-26 16:28:41.000000000 +0200 +++ /mounts/work_src_done/STABLE/kdegraphics3/kdegraphics3.changes 2011-09-17 16:56:27.000000000 +0200 @@ -0,0 +1,1372 @@ +------------------------------------------------------------------- +Sat Sep 17 14:55:23 UTC 2011 - an...@opensuse.org + +- remove need for poppler for 12.1 + +------------------------------------------------------------------- +Thu Sep 15 09:35:14 UTC 2011 - an...@opensuse.org + +- change licensing information + +------------------------------------------------------------------- +Fri Jul 23 09:39:05 UTC 2010 - llu...@novell.com + +- disable Kuickshow for 11.3+ + +------------------------------------------------------------------- +Sun Dec 6 14:38:42 UTC 2009 - bein...@opensuse.org + +- refresh patches + +------------------------------------------------------------------- +Mon Nov 9 22:16:22 CET 2009 - llu...@novell.com + +- xpdf fixes (bnc#546404) + (CVE-2009-3603,3604,3605,3606,3608,3609) + +------------------------------------------------------------------- +Mon Jun 22 07:18:18 CEST 2009 - bein...@opensuse.org + +- remove ancient unversionized obsolete (kgamma, kpovmodeler) + +------------------------------------------------------------------- +Wed Apr 22 18:50:49 CEST 2009 - llu...@suse.cz + +- kpdf/xpdf fixes, attempt #2 with a newer xpdf patch (bnc#487098) + (CVE-2009-0146,0147,0165,0166,0799,0800,1179-1183) + +------------------------------------------------------------------- +Thu Apr 9 15:21:28 CEST 2009 - llu...@suse.cz + +- kpdf/xpdf fixes (bnc#487098) + +------------------------------------------------------------------- +Wed Aug 20 18:34:40 CEST 2008 - co...@suse.de + +- update to KDE 3.5.10 + * translation update + +------------------------------------------------------------------- +Tue May 20 13:31:01 CEST 2008 - dmuel...@suse.de + +- require pdftools_any (bnc#378434) + +------------------------------------------------------------------- +Fri May 9 10:28:41 CEST 2008 - dmuel...@suse.de + +- 3_5_BRANCH diff update + * translation update, bugfixes + +------------------------------------------------------------------- +Sat Mar 1 22:29:21 CET 2008 - dmuel...@suse.de + +- fix kdvi part crashing on unload (kde#105297) + +------------------------------------------------------------------- +Tue Feb 19 09:27:34 CET 2008 - stbin...@suse.de + +- add branch diff to fix kpdf crash (bnc#362779) + +------------------------------------------------------------------- +Wed Feb 13 23:31:33 CET 2008 - dmuel...@suse.de + +- update to 3.5.9: + * http://kde.org/announcements/changelogs/changelog3_5_8to3_5_9.php + +------------------------------------------------------------------- +Wed Nov 14 19:31:52 CET 2007 - dmuel...@suse.de + +- add 3_5_BRANCH for kpdf security fixes (and gcc43 latest-of-the + day build breakage fixes) + +------------------------------------------------------------------- +Fri Oct 19 09:41:05 CEST 2007 - dmuel...@suse.de + +- fix build + +------------------------------------------------------------------- +Tue Oct 12 15:57:13 CEST 2007 - stbin...@suse.de + +- update to 3.5.8: + * kpdf: added a slotTogglePresentation() DCOP method + * bugfixes in SVG thumbnailer, KPDF, libkscan and Kolourpaint + +------------------------------------------------------------------- +Thu Oct 11 18:40:37 CEST 2007 - sbra...@suse.cz + +- poppler devel package names prepended by "lib". + +------------------------------------------------------------------- +Mon Oct 8 17:05:29 CEST 2007 - sbra...@suse.cz + +- Use binding specific poppler devel package. + +------------------------------------------------------------------- +Thu Sep 20 17:17:29 CEST 2007 - stbin...@suse.de + +- kghostview: fix zooming control (#310720) + +------------------------------------------------------------------- +Thu Sep 20 16:40:55 CEST 2007 - dmuel...@suse.de + +- fix auto rotation of thumbnails (#258483) + +------------------------------------------------------------------- +Sat Aug 4 19:22:08 CEST 2007 - stbin...@suse.de + +- update 3_5_BRANCH.diff, pickup latest xpdf security fixes + +------------------------------------------------------------------- +Sun Jul 22 13:49:37 CEST 2007 - stbin...@suse.de + +- add 3_5_BRANCH.diff for various bug fixes + +------------------------------------------------------------------- +Thu Jun 21 19:22:45 CEST 2007 - stbin...@suse.de + +- fix invalid .desktop files + +------------------------------------------------------------------- +Tue Jun 5 09:51:53 CEST 2007 - stbin...@suse.de + +- move kde_post_install + +------------------------------------------------------------------- +Fri May 25 11:33:21 CEST 2007 - meiss...@suse.de + +- include my kamera speedups from 3_5_BRANCH #113330 + +------------------------------------------------------------------- +Mon May 14 23:28:48 CEST 2007 - stbin...@suse.de + +- update to 3.5.7: + * KPDF: + - Show the tooltip of a link when hovering on them + - Add the possibility of rasterize the file to image before + printing it. + - React to the commands for opening the TOC pane, and for + expanding the subtrees of the TOC. + * KolourPaint: Add "File / Scan...". + * Several bugfixes in KPDF, KolourPaint and Kuickshow + +------------------------------------------------------------------- +Fri May 11 19:53:53 CEST 2007 - dmuel...@suse.de + +- remove imlib dependency from main package + +------------------------------------------------------------------- +Wed May 9 16:13:35 CEST 2007 - dmuel...@suse.de + +- update 3_5_BRANCH.diff for some 3.5.7 pre-testing + +------------------------------------------------------------------- +Mon Apr 23 12:13:24 CEST 2007 - r...@suse.de + +- fix last change + +------------------------------------------------------------------- +Sun Apr 22 22:57:04 CEST 2007 - r...@suse.de + +- also switch requires for kdegraphics3-tex + +------------------------------------------------------------------- +Sun Apr 22 18:10:43 CEST 2007 - a...@suse.de + +- Switch to texlive. + +------------------------------------------------------------------- +Mon Apr 16 14:35:32 CEST 2007 - dmuel...@suse.de + +- skip libtool check +- update 3_5_BRANCH.diff to include kpdf update + +------------------------------------------------------------------- +Thu Apr 12 17:29:44 CEST 2007 - dmuel...@suse.de + +- update better exif patch to use libexiv2 (#257519) + +------------------------------------------------------------------- +Thu Apr 5 00:14:14 CEST 2007 - dmuel...@suse.de + +- build with -fno-strict-aliasing + +------------------------------------------------------------------- +Mon Mar 12 08:26:37 CET 2007 - stbin...@suse.de + +- update 3_5_BRANCH.diff to fix build on x86_64 + ++++ 1175 more lines (skipped) ++++ between /dev/null ++++ and /mounts/work_src_done/STABLE/kdegraphics3/kdegraphics3.changes calling whatdependson for head-i586 New: ---- 001-fribidi.diff 3_5_BRANCH.diff GSmartPointer-gcc46.patch better-exif.patch bugzilla-113799-disable-byte-code-interpreter.patch bugzilla-113799-render-fi-correctly.patch enable-agg.diff enable-orcad.diff fix-kcmshell-kgamma.diff fix-kooka-desktop-icon.diff kdegraphics-3.5.10.tar.bz2 kdegraphics3.changes kdegraphics3.spec kpdf-bug-487098.patch prefer-kpdf.diff use_xorg_conf.diff xpdf-bnc546404.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdegraphics3.spec ++++++ ++++ 1299 lines (skipped) ++++++ 001-fribidi.diff ++++++ diff -Naur origin.ksvg-3.5.10/ksvg/impl/libs/libtext2path/src/Converter.cpp ksvg-3.5.10/ksvg/impl/libs/libtext2path/src/Converter.cpp --- origin.ksvg-3.5.10/ksvg/impl/libs/libtext2path/src/Converter.cpp 2005-10-10 18:56:48.000000000 +0400 +++ ksvg-3.5.10/ksvg/impl/libs/libtext2path/src/Converter.cpp 2009-03-14 00:36:21.000000000 +0300 @@ -23,7 +23,7 @@ #include "myboost/shared_ptr.hpp" #include <fontconfig/fontconfig.h> #include <fribidi/fribidi.h> -#include <fribidi/fribidi_types.h> +#include </usr/include/fribidi/fribidi-types.h> #include "Font.h" #include "Glyph.h" diff -Naur origin.ksvg-3.5.10/ksvg/test/external/Makefile.am ksvg-3.5.10/ksvg/test/external/Makefile.am --- origin.ksvg-3.5.10/ksvg/test/external/Makefile.am 2005-09-10 12:19:09.000000000 +0400 +++ ksvg-3.5.10/ksvg/test/external/Makefile.am 2009-03-14 00:51:42.000000000 +0300 @@ -5,9 +5,9 @@ bin_PROGRAMS = svgdisplay printnodetest svgdisplay_SOURCES = SVGTestWidget.cc svgdisplay.cc -svgdisplay_LDADD = $(LIB_KDECORE) ../../libksvg.la +svgdisplay_LDADD = $(LIB_KDECORE) -lfribidi ../../libksvg.la svgdisplay_LDFLAGS = $(KDE_RPATH) $(all_libraries) printnodetest_SOURCES = printnodetest.cpp -printnodetest_LDADD = $(LIB_KDECORE) ../../libksvg.la +printnodetest_LDADD = $(LIB_KDECORE) -lfribidi ../../libksvg.la printnodetest_LDFLAGS = $(KDE_RPATH) $(all_libraries) diff -Naur origin.ksvg-3.5.10/ksvg/test/external/Makefile.in ksvg-3.5.10/ksvg/test/external/Makefile.in --- origin.ksvg-3.5.10/ksvg/test/external/Makefile.in 2008-08-20 19:45:01.000000000 +0400 +++ ksvg-3.5.10/ksvg/test/external/Makefile.in 2009-03-14 00:51:44.000000000 +0300 @@ -414,10 +414,10 @@ #>- METASOURCES = AUTO KDE_CXXFLAGS = $(USE_EXCEPTIONS) svgdisplay_SOURCES = SVGTestWidget.cc svgdisplay.cc -svgdisplay_LDADD = $(LIB_KDECORE) ../../libksvg.la +svgdisplay_LDADD = $(LIB_KDECORE) -lfribidi ../../libksvg.la svgdisplay_LDFLAGS = $(KDE_RPATH) $(all_libraries) printnodetest_SOURCES = printnodetest.cpp -printnodetest_LDADD = $(LIB_KDECORE) ../../libksvg.la +printnodetest_LDADD = $(LIB_KDECORE) -lfribidi ../../libksvg.la printnodetest_LDFLAGS = $(KDE_RPATH) $(all_libraries) #>- all: all-am #>+ 1 ++++++ 3_5_BRANCH.diff ++++++ package: kdegraphics-3.5.10.tar.bz2 kdemod: kdegraphics --- BRANCH_STATUS +++ BRANCH_STATUS @@ -0,0 +1,2 @@ +current HEAD: +svn di between //tags/KDE/3.5.10/kdegraphics and //branches/KDE/3.5/kdegraphics Eigenschaftsänderungen: . ___________________________________________________________________ Gelöscht: svn:mergeinfo Hinzugefügt: svn:externals + admin https://svn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin ++++++ GSmartPointer-gcc46.patch ++++++ --- kdegraphics/kviewshell/plugins/djvu/libdjvu/GSmartPointer.h +++ kdegraphics/kviewshell/plugins/djvu/libdjvu/GSmartPointer.h 2011-05-08 11:47:20.000000000 -0500 @@ -56,6 +56,7 @@ #ifndef _GSMARTPOINTER_H_ #define _GSMARTPOINTER_H_ +#include <cstddef> #ifdef HAVE_CONFIG_H #include "config.h" #endif ++++++ better-exif.patch ++++++ ++++ 628 lines (skipped) ++++++ bugzilla-113799-disable-byte-code-interpreter.patch ++++++ Index: kdegraphics-3.5.10/kpdf/xpdf/splash/SplashFTFont.cc =================================================================== --- kdegraphics-3.5.10.orig/kpdf/xpdf/splash/SplashFTFont.cc +++ kdegraphics-3.5.10/kpdf/xpdf/splash/SplashFTFont.cc @@ -182,7 +182,8 @@ GBool SplashFTFont::makeGlyph(int c, int // if we have the FT2 bytecode interpreter, autohinting won't be used #ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER if (FT_Load_Glyph(ff->face, gid, - aa ? FT_LOAD_NO_BITMAP : FT_LOAD_DEFAULT)) { + aa ? FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP + : FT_LOAD_DEFAULT)) { return gFalse; } #else ++++++ bugzilla-113799-render-fi-correctly.patch ++++++ Index: kdegraphics-3.5.10/kpdf/xpdf/xpdf/GfxFont.cc =================================================================== --- kdegraphics-3.5.10.orig/kpdf/xpdf/xpdf/GfxFont.cc +++ kdegraphics-3.5.10/kpdf/xpdf/xpdf/GfxFont.cc @@ -1508,7 +1508,8 @@ Gushort *GfxCIDFont::getCodeToGIDMap(FoF int /*unicodeCmap, macRomanCmap, msSymbolCmap, */cmap; // GBool useMacRoman, useUnicode; // char *charName; - Unicode u; + Unicode u[64]; + const int ulen = sizeof(u) / sizeof(Unicode); int /*code, */i; int mapsize; int cidlen; @@ -1533,7 +1534,7 @@ Gushort *GfxCIDFont::getCodeToGIDMap(FoF while (cidlen < ctu->getLength()) { int n; - if ((n = ctu->mapToUnicode((CharCode)cidlen, &u, 1)) == 0) { + if ((n = ctu->mapToUnicode((CharCode)cidlen, u, ulen)) == 0) { cidlen++; continue; } @@ -1542,7 +1543,20 @@ Gushort *GfxCIDFont::getCodeToGIDMap(FoF mapsize *= 2; map = (Gushort *)grealloc(map, mapsize * sizeof(Gushort)); } - map[cidlen] = ff->mapCodeToGID(cmap, u); + if (n == 1) + map[cidlen] = ff->mapCodeToGID(cmap, u[0]); + else { + char str[n + 1]; + Unicode u2; + for (i = 0; i < n; i++) + str[i] = u[i]; + str[i] = 0; + u2 = globalParams->mapNameToUnicode(str); + if (u2) + map[cidlen] = ff->mapCodeToGID(cmap, u2); + else + map[cidlen] = cidlen; /* FIXME */ + } cidlen++; } ++++++ enable-agg.diff ++++++ --- ksvg/plugin/backends/agg/Makefile.am +++ ksvg/plugin/backends/agg/Makefile.am 2004/12/07 12:27:36 @@ -1,8 +1,8 @@ kde_module_LTLIBRARIES = libksvgrendereragg.la # Damn agg2 has no configuration querying possibility! -AGG_CFLAGS = -I/cvs/agg2/include/ -AGG_LIBS = /cvs/agg2/src/libagg.a +AGG_CFLAGS = -I/usr/include/agg2/ +AGG_LIBS = -lagg libksvgrendereragg_la_SOURCES = BezierPathAgg.cpp GlyphTracerAgg.cpp AggCanvas.cpp AggCanvasItems.cpp AggCanvasFactory.cpp libksvgrendereragg_la_LDFLAGS = -module $(KDE_PLUGIN) $(all_libraries) --- ksvg/plugin/backends/Makefile.am +++ ksvg/plugin/backends/Makefile.am 2004/12/07 12:26:13 @@ -1 +1 @@ -SUBDIRS = libart #agg +SUBDIRS = libart agg ++++++ enable-orcad.diff ++++++ --- kooka/kookarc +++ kooka/kookarc 2004/09/27 09:07:40 @@ -119,3 +119,9 @@ Thumbs:type=DOCK Version=0.0.5 +[ocrDialog] +ocradBinary=/usr/bin/ocrad + +[ocrad] +extraArguments=--format=utf8 + ++++++ fix-kcmshell-kgamma.diff ++++++ Index: kgamma/kcmkgamma/kgamma.desktop =================================================================== --- kgamma/kcmkgamma/kgamma.desktop (Revision 850076) +++ kgamma/kcmkgamma/kgamma.desktop (Arbeitskopie) @@ -125,5 +125,3 @@ X-KDE-Library=kgamma X-KDE-ModuleType=Library X-KDE-Test-Module=true -NoDisplay=true -Categories=Qt;KDE;Settings;X-KDE-settings-peripherals; ++++++ fix-kooka-desktop-icon.diff ++++++ Index: kooka/kooka.desktop =================================================================== --- kooka/kooka.desktop.orig +++ kooka/kooka.desktop @@ -1,7 +1,7 @@ [Desktop Entry] Type=Application Exec=kooka %i %m %U -Icon=scanner +Icon=kooka Path= Terminal=false DocPath=kooka/index.html ++++++ kpdf-bug-487098.patch ++++++ ++++ 875 lines (skipped) ++++++ prefer-kpdf.diff ++++++ Index: kpdf/kpdf_part.desktop =================================================================== --- kpdf/kpdf_part.desktop (Revision 850069) +++ kpdf/kpdf_part.desktop (Arbeitskopie) @@ -5,7 +5,7 @@ Name[hi]=के-पीडीएफ Name[zh_TW]=KPDF 檢視器 MimeType=application/pdf -InitialPreference=7 +InitialPreference=8 ServiceTypes=KParts/ReadOnlyPart X-KDE-Library=libkpdfpart Type=Service Index: kpdf/shell/kpdf.desktop =================================================================== --- kpdf/shell/kpdf.desktop (Revision 850069) +++ kpdf/shell/kpdf.desktop (Arbeitskopie) @@ -77,6 +77,6 @@ Icon=kpdf Type=Application DocPath=kpdf/index.html -InitialPreference=7 +InitialPreference=8 Categories=Qt;KDE;Graphics;Viewer; ++++++ use_xorg_conf.diff ++++++ Index: kgamma/kcmkgamma/xf86configpath.cpp =================================================================== --- kgamma/kcmkgamma/xf86configpath.cpp.orig +++ kgamma/kcmkgamma/xf86configpath.cpp @@ -26,6 +26,8 @@ using namespace std; XF86ConfigPath::XF86ConfigPath(){ vector <string> searchPaths; + searchPaths.push_back("/etc/X11/xorg.conf"); + searchPaths.push_back("/etc/X11/XF86Config-4"); searchPaths.push_back("/etc/X11/XF86Config"); searchPaths.push_back("/etc/XF86Config"); Index: kgamma/xf86gammacfg/xf86gammacfg.cpp =================================================================== --- kgamma/xf86gammacfg/xf86gammacfg.cpp.orig +++ kgamma/xf86gammacfg/xf86gammacfg.cpp @@ -48,6 +48,8 @@ int main(int argc, char *argv[]) // First, search for XF86Config or xorg.conf vector <string> searchPaths; + searchPaths.push_back("/etc/X11/xorg.conf"); + searchPaths.push_back("/etc/X11/XF86Config-4"); searchPaths.push_back("/etc/X11/XF86Config"); searchPaths.push_back("/etc/XF86Config"); ++++++ xpdf-bnc546404.diff ++++++ *** xpdf-3.02.orig/xpdf/Stream.cc Fri Jul 24 14:30:46 2009 --- kpdf/xpdf/xpdf/Stream.cc Mon Oct 5 11:07:49 2009 *************** *** 323,328 **** --- 323,332 ---- } else { imgLineSize = nVals; } + if (width > INT_MAX / nComps) { + // force a call to gmallocn(-1,...), which will throw an exception + imgLineSize = -1; + } imgLine = (Guchar *)gmallocn(imgLineSize, sizeof(Guchar)); imgIdx = nVals; } *** xpdf-3.02.orig/xpdf/PSOutputDev.cc Tue Feb 27 14:05:52 2007 --- kpdf/xpdf/xpdf/PSOutputDev.cc Fri Oct 2 12:38:58 2009 *************** *** 4301,4307 **** width, -height, height); // allocate a line buffer ! lineBuf = (Guchar *)gmalloc(4 * width); // set up to process the data stream imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(), --- 4301,4307 ---- width, -height, height); // allocate a line buffer ! lineBuf = (Guchar *)gmallocn(width, 4); // set up to process the data stream imgStr = new ImageStream(str, width, colorMap->getNumPixelComps(), diff -r -c xpdf-3.02.orig/splash/Splash.cc xpdf-3.02/splash/Splash.cc *** xpdf-3.02.orig/splash/Splash.cc Tue Feb 27 14:05:52 2007 --- kpdf/xpdf/splash/Splash.cc Fri Aug 14 14:05:08 2009 *************** *** 12,17 **** --- 12,18 ---- #include <stdlib.h> #include <string.h> + #include <limits.h> #include "gmem.h" #include "SplashErrorCodes.h" #include "SplashMath.h" *************** *** 1912,1918 **** xq = w % scaledWidth; // allocate pixel buffer ! pixBuf = (SplashColorPtr)gmalloc((yp + 1) * w); // initialize the pixel pipe pipeInit(&pipe, 0, 0, state->fillPattern, NULL, state->fillAlpha, --- 1913,1922 ---- xq = w % scaledWidth; // allocate pixel buffer ! if (yp < 0 || yp > INT_MAX - 1) { ! return splashErrBadArg; ! } ! pixBuf = (SplashColorPtr)gmallocn(yp + 1, w); // initialize the pixel pipe pipeInit(&pipe, 0, 0, state->fillPattern, NULL, state->fillAlpha, *************** *** 2208,2216 **** xq = w % scaledWidth; // allocate pixel buffers ! colorBuf = (SplashColorPtr)gmalloc((yp + 1) * w * nComps); if (srcAlpha) { ! alphaBuf = (Guchar *)gmalloc((yp + 1) * w); } else { alphaBuf = NULL; } --- 2212,2223 ---- xq = w % scaledWidth; // allocate pixel buffers ! if (yp < 0 || yp > INT_MAX - 1 || w > INT_MAX / nComps) { ! return splashErrBadArg; ! } ! colorBuf = (SplashColorPtr)gmallocn(yp + 1, w * nComps); if (srcAlpha) { ! alphaBuf = (Guchar *)gmallocn(yp + 1, w); } else { alphaBuf = NULL; } diff -r -c xpdf-3.02.orig/splash/SplashErrorCodes.h xpdf-3.02/splash/SplashErrorCodes.h --- kpdf/xpdf/splash/SplashErrorCodes.h 2009/12/06 14:37:24 1.1 +++ kpdf/xpdf/splash/SplashErrorCodes.h 2009/12/06 14:37:33 @@ -31,4 +31,6 @@ #define splashErrZeroImage 9 // image of 0x0 +#define splashErrBadArg 9 // bad argument + #endif *** xpdf-3.02.orig/splash/SplashBitmap.cc Tue Feb 27 14:05:52 2007 --- kpdf/xpdf/splash/SplashBitmap.cc Wed Aug 19 14:55:39 2009 *************** *** 11,16 **** --- 11,17 ---- #endif #include <stdio.h> + #include <limits.h> #include "gmem.h" #include "SplashErrorCodes.h" #include "SplashBitmap.h" *************** *** 27,56 **** mode = modeA; switch (mode) { case splashModeMono1: ! rowSize = (width + 7) >> 3; break; case splashModeMono8: ! rowSize = width; break; case splashModeRGB8: case splashModeBGR8: ! rowSize = width * 3; break; #if SPLASH_CMYK case splashModeCMYK8: ! rowSize = width * 4; break; #endif } ! rowSize += rowPad - 1; ! rowSize -= rowSize % rowPad; ! data = (SplashColorPtr)gmalloc(rowSize * height); if (!topDown) { data += (height - 1) * rowSize; rowSize = -rowSize; } if (alphaA) { ! alpha = (Guchar *)gmalloc(width * height); } else { alpha = NULL; } --- 28,75 ---- mode = modeA; switch (mode) { case splashModeMono1: ! if (width > 0) { ! rowSize = (width + 7) >> 3; ! } else { ! rowSize = -1; ! } break; case splashModeMono8: ! if (width > 0) { ! rowSize = width; ! } else { ! rowSize = -1; ! } break; case splashModeRGB8: case splashModeBGR8: ! if (width > 0 && width <= INT_MAX / 3) { ! rowSize = width * 3; ! } else { ! rowSize = -1; ! } break; #if SPLASH_CMYK case splashModeCMYK8: ! if (width > 0 && width <= INT_MAX / 4) { ! rowSize = width * 4; ! } else { ! rowSize = -1; ! } break; #endif } ! if (rowSize > 0) { ! rowSize += rowPad - 1; ! rowSize -= rowSize % rowPad; ! } ! data = (SplashColorPtr)gmallocn(height, rowSize); if (!topDown) { data += (height - 1) * rowSize; rowSize = -rowSize; } if (alphaA) { ! alpha = (Guchar *)gmallocn(width, height); } else { alpha = NULL; } *** xpdf-3.02.orig/xpdf/XRef.cc Tue Feb 27 14:05:52 2007 --- kpdf/xpdf/xpdf/XRef.cc Tue Oct 13 11:57:24 2009 *************** *** 52,57 **** --- 52,59 ---- // generation 0. ObjectStream(XRef *xref, int objStrNumA); + GBool isOk() { return ok; } + ~ObjectStream(); // Return the object number of this object stream. *************** *** 67,72 **** --- 69,75 ---- int nObjects; // number of objects in the stream Object *objs; // the objects (length = nObjects) int *objNums; // the object numbers (length = nObjects) + GBool ok; }; ObjectStream::ObjectStream(XRef *xref, int objStrNumA) { *************** *** 80,85 **** --- 83,89 ---- nObjects = 0; objs = NULL; objNums = NULL; + ok = gFalse; if (!xref->fetch(objStrNum, 0, &objStr)->isStream()) { goto err1; *************** *** 105,110 **** --- 109,121 ---- goto err1; } + // this is an arbitrary limit to avoid integer overflow problems + // in the 'new Object[nObjects]' call (Acrobat apparently limits + // object streams to 100-200 objects) + if (nObjects > 1000000) { + error(-1, "Too many objects in an object stream"); + goto err1; + } objs = new Object[nObjects]; objNums = (int *)gmallocn(nObjects, sizeof(int)); offsets = (int *)gmallocn(nObjects, sizeof(int)); *************** *** 161,170 **** } gfree(offsets); err1: objStr.free(); - return; } ObjectStream::~ObjectStream() { --- 172,181 ---- } gfree(offsets); + ok = gTrue; err1: objStr.free(); } ObjectStream::~ObjectStream() { *************** *** 837,842 **** --- 848,858 ---- delete objStr; } objStr = new ObjectStream(this, e->offset); + if (!objStr->isOk()) { + delete objStr; + objStr = NULL; + goto err; + } } objStr->getObject(e->gen, num, obj); break; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org