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

Reply via email to