Hello community, here is the log from the commit of package kdegraphics3 checked in at Tue Feb 19 10:34:08 CET 2008. -------- --- KDE/kdegraphics3/kdegraphics3.changes 2008-02-13 23:33:15.000000000 +0100 +++ /mounts/work_src_done/STABLE/kdegraphics3/kdegraphics3.changes 2008-02-19 09:29:10.000000000 +0100 @@ -1,0 +2,5 @@ +Tue Feb 19 09:27:34 CET 2008 - stbinner@suse.de + +- add branch diff to fix kpdf crash (bnc#362779) + +------------------------------------------------------------------- New: ---- 3_5_BRANCH.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdegraphics3.spec ++++++ --- /var/tmp/diff_new_pack.I27235/_old 2008-02-19 10:33:35.000000000 +0100 +++ /var/tmp/diff_new_pack.I27235/_new 2008-02-19 10:33:35.000000000 +0100 @@ -40,9 +40,9 @@ Requires: kdelibs3 >= %( echo `rpm -q --queryformat '%{VERSION}' kdelibs3` ) Summary: Base Libraries for KDE Graphics Applications Version: 3.5.9 -Release: 1 +Release: 2 Source0: kdegraphics-%{version}.tar.bz2 -#Patch0: 3_5_BRANCH.diff +Patch0: 3_5_BRANCH.diff Patch1: prefer-kpdf.diff Patch2: enable-orcad.diff Patch3: enable-agg.diff @@ -286,7 +286,7 @@ %prep %setup -q -n kdegraphics-%{version} -#%patch0 +%patch0 %patch1 %patch2 #%patch3 @@ -645,6 +645,8 @@ /opt/kde3/include/*.h %changelog +* Tue Feb 19 2008 stbinner@suse.de +- add branch diff to fix kpdf crash (bnc#362779) * Thu Feb 14 2008 dmueller@suse.de - update to 3.5.9: * http://kde.org/announcements/changelogs/changelog3_5_8to3_5_9.php ++++++ 3_5_BRANCH.diff ++++++ package: kdegraphics-3.5.9.tar.bz2 kdemod: kdegraphics --- BRANCH_STATUS +++ BRANCH_STATUS @@ -0,0 +1,2 @@ +current HEAD: 776761 +svn di between /tags/KDE/3.5.9 and /branches/KDE//branches/KDE/3.5 --- kpdf/xpdf/xpdf/Lexer.cc +++ kpdf/xpdf/xpdf/Lexer.cc @@ -298,7 +298,7 @@ n = 0; // we are growing see if the document is not malformed and we are growing too much - if (objNum > 0) + if (objNum > 0 && xref != NULL) { int newObjNum = xref->getNumEntry(curStr.streamGetPos()); if (newObjNum != objNum) --- kpdf/xpdf/splash/SplashFont.cc +++ kpdf/xpdf/splash/SplashFont.cc @@ -167,27 +167,35 @@ size = ((bitmap2.w + 7) >> 3) * bitmap2.h; } p = NULL; // make gcc happy - for (j = 0; j < cacheAssoc; ++j) { - if ((cacheTags[i+j].mru & 0x7fffffff) == cacheAssoc - 1) { - cacheTags[i+j].mru = 0x80000000; - cacheTags[i+j].c = c; - cacheTags[i+j].xFrac = (short)xFrac; - cacheTags[i+j].yFrac = (short)yFrac; - cacheTags[i+j].x = bitmap2.x; - cacheTags[i+j].y = bitmap2.y; - cacheTags[i+j].w = bitmap2.w; - cacheTags[i+j].h = bitmap2.h; - p = cache + (i+j) * glyphSize; - memcpy(p, bitmap2.data, size); - } else { - ++cacheTags[i+j].mru; - } + if (cacheAssoc == 0) + { + // we had problems on the malloc of the cache, so ignore it + *bitmap = bitmap2; } - *bitmap = bitmap2; - bitmap->data = p; - bitmap->freeData = gFalse; - if (bitmap2.freeData) { - gfree(bitmap2.data); + else + { + for (j = 0; j < cacheAssoc; ++j) { + if ((cacheTags[i+j].mru & 0x7fffffff) == cacheAssoc - 1) { + cacheTags[i+j].mru = 0x80000000; + cacheTags[i+j].c = c; + cacheTags[i+j].xFrac = (short)xFrac; + cacheTags[i+j].yFrac = (short)yFrac; + cacheTags[i+j].x = bitmap2.x; + cacheTags[i+j].y = bitmap2.y; + cacheTags[i+j].w = bitmap2.w; + cacheTags[i+j].h = bitmap2.h; + p = cache + (i+j) * glyphSize; + memcpy(p, bitmap2.data, size); + } else { + ++cacheTags[i+j].mru; + } + } + *bitmap = bitmap2; + bitmap->data = p; + bitmap->freeData = gFalse; + if (bitmap2.freeData) { + gfree(bitmap2.data); + } } return gTrue; } Property changes on: . ___________________________________________________________________ Name: svn:mergeinfo - Name: svn:externals + admin https://svn.kde.org/home/kde/branches/KDE/3.5/kde-common/admin ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org