Author: glen                         Date: Mon Sep  7 22:16:12 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- updated

---- Files affected:
packages/kdebase:
   kdebase-branch.diff (1.83 -> 1.84) 
packages/kdegraphics:
   kdegraphics-branch.diff (1.20 -> 1.21) 
packages/kdelibs:
   kdelibs-branch.diff (1.86 -> 1.87) 
packages/kdevelop:
   kdevelop-branch.diff (1.5 -> 1.6) 
packages/kdewebdev:
   kdewebdev-branch.diff (1.9 -> 1.10) 

---- Diffs:

================================================================
Index: packages/kdebase/kdebase-branch.diff
diff -u packages/kdebase/kdebase-branch.diff:1.83 
packages/kdebase/kdebase-branch.diff:1.84
--- packages/kdebase/kdebase-branch.diff:1.83   Thu Apr 23 12:14:14 2009
+++ packages/kdebase/kdebase-branch.diff        Tue Sep  8 00:16:05 2009
@@ -1,7 +1,7 @@
 Index: kcontrol/background/bgrender.cpp
 ===================================================================
---- kcontrol/background/bgrender.cpp   (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kcontrol/background/bgrender.cpp   (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kcontrol/background/bgrender.cpp   (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kcontrol/background/bgrender.cpp   (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -1163,9 +1163,8 @@
          m_pPixmap = new QPixmap(m_size);
          m_pPixmap->fill(Qt::black);
@@ -16,8 +16,8 @@
  
 Index: kcontrol/info/opengl.cpp
 ===================================================================
---- kcontrol/info/opengl.cpp   (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ kcontrol/info/opengl.cpp   (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- kcontrol/info/opengl.cpp   (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ kcontrol/info/opengl.cpp   (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -608,7 +608,6 @@
     }
     else {
@@ -28,8 +28,8 @@
     glXDestroyContext(dpy, ctx);
 Index: kcontrol/arts/arts.cpp
 ===================================================================
---- kcontrol/arts/arts.cpp     (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ kcontrol/arts/arts.cpp     (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- kcontrol/arts/arts.cpp     (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ kcontrol/arts/arts.cpp     (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -214,7 +214,7 @@
        config = new KConfig("kcmartsrc");
        load();
@@ -39,10 +39,32 @@
  
        connect(startServer,SIGNAL(clicked()),this,SLOT(slotChanged()));
        connect(networkTransparent,SIGNAL(clicked()),this,SLOT(slotChanged()));
+Index: kcontrol/kfontinst/kfontinst/Fontmap.cpp
+===================================================================
+--- kcontrol/kfontinst/kfontinst/Fontmap.cpp   (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kcontrol/kfontinst/kfontinst/Fontmap.cpp   (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
+@@ -44,7 +44,7 @@
+ 
+ using namespace std;
+ 
+-static char * findSpace(char *str)
++static const char * findSpace(const char *str)
+ {
+     while(str && *str!=' ' && *str!='\t')
+         str++;
+@@ -65,7 +65,7 @@
+     char a[constMaxLen+1],
+          b[constFileMaxLen+1];
+ 
+-    char *slash1=strchr(line, '/'),
++    const char *slash1=strchr(line, '/'),
+          *space1=slash1 ? findSpace(slash1) : NULL, //strchr(slash1, ' ') : 
NULL,
+          *ob=slash1 ? strchr(slash1, '(') : NULL,
+          *cb=ob ? strchr(ob, ')') : NULL,
 Index: kicker/taskbar/taskcontainer.cpp
 ===================================================================
---- kicker/taskbar/taskcontainer.cpp   (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/taskbar/taskcontainer.cpp   (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/taskbar/taskcontainer.cpp   (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/taskbar/taskcontainer.cpp   (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -202,6 +202,8 @@
          }
          return;
@@ -216,8 +238,8 @@
      data.icon = pixmap;
 Index: kicker/taskbar/taskbar.cpp
 ===================================================================
---- kicker/taskbar/taskbar.cpp (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ kicker/taskbar/taskbar.cpp (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- kicker/taskbar/taskbar.cpp (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ kicker/taskbar/taskbar.cpp (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -61,8 +61,6 @@
        m_textShadowEngine(0),
        m_ignoreUpdates(false)
@@ -281,8 +303,8 @@
          viewport()->setPaletteBackgroundColor(paletteBackgroundColor());
 Index: kicker/taskbar/taskbar.h
 ===================================================================
---- kicker/taskbar/taskbar.h   (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ kicker/taskbar/taskbar.h   (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- kicker/taskbar/taskbar.h   (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ kicker/taskbar/taskbar.h   (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -63,12 +63,11 @@
  
      QImage* blendGradient(const QSize& size);
@@ -307,8 +329,8 @@
      void resizeEvent( QResizeEvent* );
 Index: kicker/extensions/taskbar/taskbarextension.cpp
 ===================================================================
---- kicker/extensions/taskbar/taskbarextension.cpp     
(.../tags/KDE/3.5.10/kdebase)   (revision 958029)
-+++ kicker/extensions/taskbar/taskbarextension.cpp     
(.../branches/KDE/3.5/kdebase)  (revision 958029)
+--- kicker/extensions/taskbar/taskbarextension.cpp     
(.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
++++ kicker/extensions/taskbar/taskbarextension.cpp     
(.../branches/KDE/3.5/kdebase)  (revision 1021033)
 @@ -170,7 +170,6 @@
      }
  
@@ -340,8 +362,8 @@
  void TaskBarExtension::resizeEvent(QResizeEvent *e)
 Index: kicker/libkicker/panner.cpp
 ===================================================================
---- kicker/libkicker/panner.cpp        (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/libkicker/panner.cpp        (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/libkicker/panner.cpp        (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/libkicker/panner.cpp        (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -35,28 +35,28 @@
  #include "panner.h"
  #include "panner.moc"
@@ -711,8 +733,8 @@
 +}
 Index: kicker/libkicker/simplebutton.cpp
 ===================================================================
---- kicker/libkicker/simplebutton.cpp  (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/libkicker/simplebutton.cpp  (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/libkicker/simplebutton.cpp  (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/libkicker/simplebutton.cpp  (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -32,6 +32,8 @@
  #include <kipc.h>
  #include <kstandarddirs.h>
@@ -742,8 +764,8 @@
      if (ph < (h - margin))
 Index: kicker/libkicker/kickertip.cpp
 ===================================================================
---- kicker/libkicker/kickertip.cpp     (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/libkicker/kickertip.cpp     (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/libkicker/kickertip.cpp     (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/libkicker/kickertip.cpp     (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -128,8 +128,10 @@
      // Tickle the information out of the bastard.
      client->updateKickerTip(data);
@@ -944,8 +966,8 @@
              break;
 Index: kicker/libkicker/panner.h
 ===================================================================
---- kicker/libkicker/panner.h  (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ kicker/libkicker/panner.h  (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- kicker/libkicker/panner.h  (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ kicker/libkicker/panner.h  (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -24,14 +24,14 @@
  #ifndef __panner_h__
  #define __panner_h__
@@ -1038,8 +1060,8 @@
  #endif
 Index: kicker/applets/systemtray/systemtrayapplet.h
 ===================================================================
---- kicker/applets/systemtray/systemtrayapplet.h       
(.../tags/KDE/3.5.10/kdebase)   (revision 958029)
-+++ kicker/applets/systemtray/systemtrayapplet.h       
(.../branches/KDE/3.5/kdebase)  (revision 958029)
+--- kicker/applets/systemtray/systemtrayapplet.h       
(.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
++++ kicker/applets/systemtray/systemtrayapplet.h       
(.../branches/KDE/3.5/kdebase)  (revision 1021033)
 @@ -118,6 +118,7 @@
      TrayEmbed( bool kdeTray, QWidget* parent = NULL );
      bool kdeTray() const { return kde_tray; }
@@ -1050,8 +1072,8 @@
  };
 Index: kicker/applets/systemtray/systemtrayapplet.cpp
 ===================================================================
---- kicker/applets/systemtray/systemtrayapplet.cpp     
(.../tags/KDE/3.5.10/kdebase)   (revision 958029)
-+++ kicker/applets/systemtray/systemtrayapplet.cpp     
(.../branches/KDE/3.5/kdebase)  (revision 958029)
+--- kicker/applets/systemtray/systemtrayapplet.cpp     
(.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
++++ kicker/applets/systemtray/systemtrayapplet.cpp     
(.../branches/KDE/3.5/kdebase)  (revision 1021033)
 @@ -54,6 +54,8 @@
  
  #include <X11/Xlib.h>
@@ -1263,8 +1285,8 @@
  
 Index: kicker/applets/clock/clock.h
 ===================================================================
---- kicker/applets/clock/clock.h       (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/applets/clock/clock.h       (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/applets/clock/clock.h       (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/applets/clock/clock.h       (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -41,6 +41,7 @@
  
  #include <kickertip.h>
@@ -1302,8 +1324,8 @@
  
 Index: kicker/applets/clock/Makefile.am
 ===================================================================
---- kicker/applets/clock/Makefile.am   (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/applets/clock/Makefile.am   (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/applets/clock/Makefile.am   (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/applets/clock/Makefile.am   (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -1,7 +1,7 @@
  pic_DATA = lcd.png
  picdir = $(kde_datadir)/clockapplet/pics
@@ -1315,8 +1337,8 @@
  
 Index: kicker/applets/clock/clock.cpp
 ===================================================================
---- kicker/applets/clock/clock.cpp     (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/applets/clock/clock.cpp     (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/applets/clock/clock.cpp     (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/applets/clock/clock.cpp     (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -57,6 +57,7 @@
  
  #include <global.h> // libkickermain
@@ -1448,8 +1470,8 @@
      if (orientation() == Qt::Vertical)
 Index: kicker/kicker/core/container_extension.cpp
 ===================================================================
---- kicker/kicker/core/container_extension.cpp (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/kicker/core/container_extension.cpp (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/kicker/core/container_extension.cpp (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/kicker/core/container_extension.cpp (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -126,6 +126,7 @@
      connect(Kicker::the()->kwinModule(), SIGNAL(currentDesktopChanged(int)),
              this, SLOT( currentDesktopChanged(int)));
@@ -1469,8 +1491,8 @@
          // if we have an extension, we need to grab the extension-specific
 Index: kicker/kicker/core/containerarea.cpp
 ===================================================================
---- kicker/kicker/core/containerarea.cpp       (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/kicker/core/containerarea.cpp       (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/kicker/core/containerarea.cpp       (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/kicker/core/containerarea.cpp       (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -90,15 +90,12 @@
        m_addAppletDialog(0)
  {
@@ -1491,8 +1513,8 @@
      setBackground();
 Index: kicker/kicker/core/panelextension.cpp
 ===================================================================
---- kicker/kicker/core/panelextension.cpp      (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kicker/kicker/core/panelextension.cpp      (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kicker/kicker/core/panelextension.cpp      (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kicker/kicker/core/panelextension.cpp      (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -74,7 +74,6 @@
      connect(_containerArea, SIGNAL(maintainFocus(bool)), this, 
SIGNAL(maintainFocus(bool)));
      _layout->addWidget(_containerArea);
@@ -1503,8 +1525,8 @@
  
 Index: kioslave/media/mediamanager/halbackend.cpp
 ===================================================================
---- kioslave/media/mediamanager/halbackend.cpp (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ kioslave/media/mediamanager/halbackend.cpp (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- kioslave/media/mediamanager/halbackend.cpp (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ kioslave/media/mediamanager/halbackend.cpp (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -851,13 +851,6 @@
          result << tmp;
      }
@@ -1583,8 +1605,8 @@
          QString option = valids["journaling"];
 Index: kioslave/fish/fish.cpp
 ===================================================================
---- kioslave/fish/fish.cpp     (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ kioslave/fish/fish.cpp     (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- kioslave/fish/fish.cpp     (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ kioslave/fish/fish.cpp     (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -2,7 +2,7 @@
                            fish.cpp  -  a FISH kioslave
                               -------------------
@@ -1605,8 +1627,8 @@
                  if (rc > 0) {
 Index: nsplugins/nspluginloader.cpp
 ===================================================================
---- nsplugins/nspluginloader.cpp       (.../tags/KDE/3.5.10/kdebase)   
(revision 958029)
-+++ nsplugins/nspluginloader.cpp       (.../branches/KDE/3.5/kdebase)  
(revision 958029)
+--- nsplugins/nspluginloader.cpp       (.../tags/KDE/3.5.10/kdebase)   
(revision 1021033)
++++ nsplugins/nspluginloader.cpp       (.../branches/KDE/3.5/kdebase)  
(revision 1021033)
 @@ -69,7 +69,7 @@
      if (cfg.readBoolEntry("demandLoad", false)) {
          _button = new QPushButton(i18n("Start Plugin"), 
dynamic_cast<EMBEDCLASS*>(this));
@@ -1637,8 +1659,8 @@
          WId winid = stub->winId();
 Index: nsplugins/nspluginloader.h
 ===================================================================
---- nsplugins/nspluginloader.h (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ nsplugins/nspluginloader.h (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- nsplugins/nspluginloader.h (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ nsplugins/nspluginloader.h (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -55,6 +55,7 @@
      void javascriptResult( int id, QString result ) { stub->javascriptResult( 
id, result ); }
  
@@ -1649,8 +1671,8 @@
  protected:
 Index: knetattach/knetattach.ui
 ===================================================================
---- knetattach/knetattach.ui   (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ knetattach/knetattach.ui   (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- knetattach/knetattach.ui   (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ knetattach/knetattach.ui   (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -236,7 +236,7 @@
                      </sizepolicy>
                  </property>
@@ -1662,8 +1684,8 @@
                      <number>1</number>
 Index: kwin/atoms.cpp
 ===================================================================
---- kwin/atoms.cpp     (.../tags/KDE/3.5.10/kdebase)   (revision 958029)
-+++ kwin/atoms.cpp     (.../branches/KDE/3.5/kdebase)  (revision 958029)
+--- kwin/atoms.cpp     (.../tags/KDE/3.5.10/kdebase)   (revision 1021033)
++++ kwin/atoms.cpp     (.../branches/KDE/3.5/kdebase)  (revision 1021033)
 @@ -85,6 +85,8 @@
      Atom fake;
      atoms[n] = &fake;
@@ -1675,8 +1697,8 @@
      names[n++] = (char*) "XdndAware";
 Index: l10n/tr/entry.desktop
 ===================================================================
---- l10n/tr/entry.desktop      (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ l10n/tr/entry.desktop      (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- l10n/tr/entry.desktop      (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ l10n/tr/entry.desktop      (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -83,7 +83,7 @@
  Languages=tr
  DecimalSymbol=,
@@ -1688,8 +1710,8 @@
  PositiveSign=
 Index: l10n/ec/entry.desktop
 ===================================================================
---- l10n/ec/entry.desktop      (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ l10n/ec/entry.desktop      (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- l10n/ec/entry.desktop      (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ l10n/ec/entry.desktop      (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -1,5 +1,5 @@
  [KCM Locale]
 -Name=Equador
@@ -1699,8 +1721,8 @@
  Name[az]=Ekvator
 Index: l10n/es/entry.desktop
 ===================================================================
---- l10n/es/entry.desktop      (.../tags/KDE/3.5.10/kdebase)   (revision 
958029)
-+++ l10n/es/entry.desktop      (.../branches/KDE/3.5/kdebase)  (revision 
958029)
+--- l10n/es/entry.desktop      (.../tags/KDE/3.5.10/kdebase)   (revision 
1021033)
++++ l10n/es/entry.desktop      (.../branches/KDE/3.5/kdebase)  (revision 
1021033)
 @@ -94,7 +94,8 @@
  NegativeMonetarySignPosition=1
  DateFormat[es]=%A, %e de %B de %Y

================================================================
Index: packages/kdegraphics/kdegraphics-branch.diff
diff -u /dev/null packages/kdegraphics/kdegraphics-branch.diff:1.21
--- /dev/null   Tue Sep  8 00:16:12 2009
+++ packages/kdegraphics/kdegraphics-branch.diff        Tue Sep  8 00:16:06 2009
@@ -0,0 +1,906 @@
+Index: kpdf/xpdf/xpdf/JBIG2Stream.cc
+===================================================================
+--- kpdf/xpdf/xpdf/JBIG2Stream.cc      (.../tags/KDE/3.5.10/kdegraphics)       
(revision 1021035)
++++ kpdf/xpdf/xpdf/JBIG2Stream.cc      (.../branches/KDE/3.5/kdegraphics)      
(revision 1021035)
+@@ -422,12 +422,14 @@
+   table[i] = table[len];
+ 
+   // assign prefixes
+-  i = 0;
+-  prefix = 0;
+-  table[i++].prefix = prefix++;
+-  for (; table[i].rangeLen != jbig2HuffmanEOT; ++i) {
+-    prefix <<= table[i].prefixLen - table[i-1].prefixLen;
+-    table[i].prefix = prefix++;
++  if (table[0].rangeLen != jbig2HuffmanEOT) {
++    i = 0;
++    prefix = 0;
++    table[i++].prefix = prefix++;
++    for (; table[i].rangeLen != jbig2HuffmanEOT; ++i) {
++      prefix <<= table[i].prefixLen - table[i-1].prefixLen;
++      table[i].prefix = prefix++;
++    }
+   }
+ }
+ 
+@@ -491,7 +493,7 @@
+   }
+   if (p->bits < 0) {
+     error(str->getPos(), "Bad two dim code in JBIG2 MMR stream");
+-    return 0;
++    return EOF;
+   }
+   bufLen -= p->bits;
+   return p->n;
+@@ -684,8 +686,9 @@
+   h = hA;
+   line = (wA + 7) >> 3;
+   if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
+-    data = NULL;
+-    return;
++    // force a call to gmalloc(-1), which will throw an exception
++    h = -1;
++    line = 2;
+   }
+   // need to allocate one extra guard byte for use in combine()
+   data = (Guchar *)gmalloc(h * line + 1);
+@@ -699,8 +702,9 @@
+   h = bitmap->h;
+   line = bitmap->line;
+   if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
+-    data = NULL;
+-    return;
++    // force a call to gmalloc(-1), which will throw an exception
++    h = -1;
++    line = 2;
+   }
+   // need to allocate one extra guard byte for use in combine()
+   data = (Guchar *)gmalloc(h * line + 1);
+@@ -755,6 +759,8 @@
+ inline void JBIG2Bitmap::getPixelPtr(int x, int y, JBIG2BitmapPtr *ptr) {
+   if (y < 0 || y >= h || x >= w) {
+     ptr->p = NULL;
++    ptr->shift = 0; // make gcc happy
++    ptr->x = 0; // make gcc happy
+   } else if (x < 0) {
+     ptr->p = &data[y * line];
+     ptr->shift = 7;
+@@ -799,6 +805,10 @@
+   Guint src0, src1, src, dest, s1, s2, m1, m2, m3;
+   GBool oneByte;
+ 
++  // check for the pathological case where y = -2^31
++  if (y < -0x7fffffff) {
++    return;
++  }
+   if (y < 0) {
+     y0 = -y;
+   } else {
+@@ -1012,8 +1022,13 @@
+ JBIG2SymbolDict::JBIG2SymbolDict(Guint segNumA, Guint sizeA):
+   JBIG2Segment(segNumA)
+ {
++  Guint i;
++
+   size = sizeA;
+   bitmaps = (JBIG2Bitmap **)gmallocn(size, sizeof(JBIG2Bitmap *));
++  for (i = 0; i < size; ++i) {
++    bitmaps[i] = NULL;
++  }
+   genericRegionStats = NULL;
+   refinementRegionStats = NULL;
+ }
+@@ -1022,7 +1037,9 @@
+   Guint i;
+ 
+   for (i = 0; i < size; ++i) {
+-    delete bitmaps[i];
++    if (bitmaps[i]) {
++      delete bitmaps[i];
++    }
+   }
+   gfree(bitmaps);
+   if (genericRegionStats) {
+@@ -1301,6 +1318,13 @@
+     // keep track of the start of the segment data 
+     segDataPos = getPos();
+ 
++    // check for missing page information segment
++    if (!pageBitmap && ((segType >= 4 && segType <= 7) ||
++                      (segType >= 20 && segType <= 43))) {
++      error(getPos(), "First JBIG2 segment associated with a page must be a 
page information segment");
++      goto syntaxError;
++    }
++
+     // read the segment data
+     switch (segType) {
+     case 0:
+@@ -1455,6 +1479,8 @@
+   Guint i, j, k;
+   Guchar *p;
+ 
++  symWidths = NULL;
++
+   // symbol dictionary flags
+   if (!readUWord(&flags)) {
+     goto eofError;
+@@ -1510,26 +1536,32 @@
+   codeTables = new GList();
+   numInputSyms = 0;
+   for (i = 0; i < nRefSegs; ++i) {
+-    // This is need by poppler bug 12014, returning gFalse makes it not crash
+-    // but we end up with a empty page while acroread is able to render
+-    // part of it
+     if ((seg = findSegment(refSegs[i]))) {
+       if (seg->getType() == jbig2SegSymbolDict) {
+-        numInputSyms += ((JBIG2SymbolDict *)seg)->getSize();
++      j = ((JBIG2SymbolDict *)seg)->getSize();
++      if (numInputSyms > UINT_MAX - j) {
++        error(getPos(), "Too many input symbols in JBIG2 symbol dictionary");
++        delete codeTables;
++        goto eofError;
++      }
++      numInputSyms += j;
+       } else if (seg->getType() == jbig2SegCodeTable) {
+-        codeTables->append(seg);
++      codeTables->append(seg);
+       }
+-    } else {
+-      return gFalse;
+     }
+   }
++  if (numInputSyms > UINT_MAX - numNewSyms) {
++    error(getPos(), "Too many input symbols in JBIG2 symbol dictionary");
++    delete codeTables;
++    goto eofError;
++  }
+ 
+   // compute symbol code length
+-  symCodeLen = 0;
+-  i = 1;
+-  while (i < numInputSyms + numNewSyms) {
++  symCodeLen = 1;
++  i = (numInputSyms + numNewSyms) >> 1;
++  while (i) {
+     ++symCodeLen;
+-    i <<= 1;
++    i >>= 1;
+   }
+ 
+   // get the input symbol bitmaps
+@@ -1541,11 +1573,12 @@
+   k = 0;
+   inputSymbolDict = NULL;
+   for (i = 0; i < nRefSegs; ++i) {
+-    seg = findSegment(refSegs[i]);
+-    if (seg->getType() == jbig2SegSymbolDict) {
+-      inputSymbolDict = (JBIG2SymbolDict *)seg;
+-      for (j = 0; j < inputSymbolDict->getSize(); ++j) {
+-      bitmaps[k++] = inputSymbolDict->getBitmap(j);
++    if ((seg = findSegment(refSegs[i]))) {
++      if (seg->getType() == jbig2SegSymbolDict) {
++      inputSymbolDict = (JBIG2SymbolDict *)seg;
++      for (j = 0; j < inputSymbolDict->getSize(); ++j) {
++        bitmaps[k++] = inputSymbolDict->getBitmap(j);
++      }
+       }
+     }
+   }
+@@ -1560,6 +1593,9 @@
+     } else if (huffDH == 1) {
+       huffDHTable = huffTableE;
+     } else {
++      if (i >= (Guint)codeTables->getLength()) {
++      goto codeTableError;
++      }
+       huffDHTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
+     }
+     if (huffDW == 0) {
+@@ -1567,17 +1603,26 @@
+     } else if (huffDW == 1) {
+       huffDWTable = huffTableC;
+     } else {
++      if (i >= (Guint)codeTables->getLength()) {
++      goto codeTableError;
++      }
+       huffDWTable = ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
+     }
+     if (huffBMSize == 0) {
+       huffBMSizeTable = huffTableA;
+     } else {
++      if (i >= (Guint)codeTables->getLength()) {
++      goto codeTableError;
++      }
+       huffBMSizeTable =
+         ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
+     }
+     if (huffAggInst == 0) {
+       huffAggInstTable = huffTableA;
+     } else {
++      if (i >= (Guint)codeTables->getLength()) {
++      goto codeTableError;
++      }
+       huffAggInstTable =
+         ((JBIG2CodeTable *)codeTables->get(i++))->getHuffTable();
+     }
+@@ -1610,7 +1655,6 @@
+   }
+ 
+   // allocate symbol widths storage
+-  symWidths = NULL;
+   if (huff && !refAgg) {
+     symWidths = (Guint *)gmallocn(numNewSyms, sizeof(Guint));
+   }
+@@ -1652,6 +1696,10 @@
+       goto syntaxError;
+       }
+       symWidth += dw;
++      if (i >= numNewSyms) {
++      error(getPos(), "Too many symbols in JBIG2 symbol dictionary");
++      goto syntaxError;
++      }
+ 
+       // using a collective bitmap, so don't read a bitmap here
+       if (huff && !refAgg) {
+@@ -1688,6 +1736,10 @@
+           arithDecoder->decodeInt(&refDX, iardxStats);
+           arithDecoder->decodeInt(&refDY, iardyStats);
+         }
++        if (symID >= numInputSyms + i) {
++          error(getPos(), "Invalid symbol ID in JBIG2 symbol dictionary");
++          goto syntaxError;
++        }
+         refBitmap = bitmaps[symID];
+         bitmaps[numInputSyms + i] =
+             readGenericRefinementRegion(symWidth, symHeight,
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kdebase/kdebase-branch.diff?r1=1.83&r2=1.84&f=u
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kdegraphics/kdegraphics-branch.diff?r1=1.20&r2=1.21&f=u
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kdelibs/kdelibs-branch.diff?r1=1.86&r2=1.87&f=u
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kdevelop/kdevelop-branch.diff?r1=1.5&r2=1.6&f=u
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kdewebdev/kdewebdev-branch.diff?r1=1.9&r2=1.10&f=u

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to