poppler/Function.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
New commits: commit 9529e776e53e71069ba4215cdb8b84592d37b555 Author: Carlos Garcia Campos <[email protected]> Date: Mon Sep 5 21:19:58 2011 +0200 xpdf303: Other fixes in PostScriptFunction diff --git a/poppler/Function.cc b/poppler/Function.cc index 16ca0f4..25e8f74 100644 --- a/poppler/Function.cc +++ b/poppler/Function.cc @@ -1082,7 +1082,7 @@ void PSStack::roll(int n, int j) { j = n - j; } } - if (n <= 0 || j == 0) { + if (n <= 0 || j == 0 || n > psStackSize || sp + n > psStackSize) { return; } if (j <= n / 2) { @@ -1318,6 +1318,7 @@ GBool PostScriptFunction::parseCode(Stream *str, int *codePtr) { } else { a = -1; b = nPSOps; + cmp = 0; // make gcc happy // invariant: psOpNames[a] < tok < psOpNames[b] while (b - a > 1) { mid = (a + b) / 2; @@ -1459,7 +1460,7 @@ void PostScriptFunction::exec(PSStack *stack, int codePtr) { if (i2 > 0) { stack->pushInt(i1 << i2); } else if (i2 < 0) { - stack->pushInt((int)((Guint)i1 >> i2)); + stack->pushInt((int)((Guint)i1 >> -i2)); } else { stack->pushInt(i1); } commit 071f983f461ba0b872dd93d7f1a24d325312799d Author: Carlos Garcia Campos <[email protected]> Date: Mon Sep 5 21:19:13 2011 +0200 xpdf303: Fixed a bug in the PostScript-type function parser Real numbers that start with a decimal point weren't being handled correctly. diff --git a/poppler/Function.cc b/poppler/Function.cc index db390dc..16ca0f4 100644 --- a/poppler/Function.cc +++ b/poppler/Function.cc @@ -1238,7 +1238,7 @@ GBool PostScriptFunction::parseCode(Stream *str, int *codePtr) { p = tok->getCString(); if (isdigit(*p) || *p == '.' || *p == '-') { isReal = gFalse; - for (++p; *p; ++p) { + for (; *p; ++p) { if (*p == '.') { isReal = gTrue; break; _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
