X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fpdf%2Fxpdf-changes.patch;h=42ff39f0cdbb984852a9a3d18ae4e8e72f5e6527;hp=78a27867a199bb0a680ab91f389975eb29698d44;hb=7dff01be4c5c03eb4908285a751a8b5e03054c48;hpb=60c0d1f208a941d251f049bb9c10d5a1a69e076d diff --git a/lib/pdf/xpdf-changes.patch b/lib/pdf/xpdf-changes.patch index 78a2786..42ff39f 100644 --- a/lib/pdf/xpdf-changes.patch +++ b/lib/pdf/xpdf-changes.patch @@ -1126,3 +1126,43 @@ diff -u -r1.5 -r1.6 if (!strcmp(tok3, "[")) { i = 0; while (pst->getToken(tok1, sizeof(tok1), &n1) && +--- xpdf/Decrypt.cc.orig 2010-01-28 14:19:51.000000000 -0800 ++++ xpdf/Decrypt.cc 2010-02-02 16:04:53.000000000 -0800 +@@ -596,6 +596,7 @@ + s->bufIdx = 0; + if (last) { + n = s->buf[15]; ++ if(!n || n>16) n=16; + for (i = 15; i >= n; --i) { + s->buf[i] = s->buf[i-n]; + } +--- xpdf/Catalog.cc.orig 2010-02-02 16:17:24.000000000 -0800 ++++ xpdf/Catalog.cc 2010-02-02 16:18:48.000000000 -0800 +@@ -193,7 +193,7 @@ + if (!kids.isArray()) { + error(-1, "Kids object (page %d) is wrong type (%s)", + start+1, kids.getTypeName()); +- goto err1; ++ return start; + } + for (i = 0; i < kids.arrayGetLength(); ++i) { + kids.arrayGetNF(i, &kidRef); +--- xpdf/SplashOutputDev.cc.orig 2010-03-25 14:06:37.000000000 -0700 ++++ xpdf/SplashOutputDev.cc 2010-03-25 14:07:23.000000000 -0700 +@@ -13,6 +13,7 @@ +@@ -509,7 +510,14 @@ + glyphY = glyphYA; + glyphW = glyphWA; + glyphH = glyphHA; +- validBBox = validBBoxA; ++ ++ if(glyphW<=0 || glyphH<=0 || (double)glyphH*(double)glyphW>536870912) { ++ glyphW = glyphH = 128; ++ validBBox = gFalse; ++ } else { ++ validBBox = validBBoxA; ++ } ++ + if (aa) { + glyphSize = glyphW * glyphH; + } else {