--- xpdf/Stream.cc.orig 2009-04-29 01:11:24.000000000 +0400 +++ xpdf/Stream.cc 2009-04-29 01:15:47.000000000 +0400 @@ -33,6 +33,7 @@ #include "JBIG2Stream.h" #include "JPXStream.h" #include "Stream-CCITT.h" +#include "Function.h" #ifdef __DJGPP__ static GBool setDJSYSFLAGS = gFalse; @@ -417,8 +418,9 @@ ok = gFalse; if (width <= 0 || nComps <= 0 || nBits <= 0 || - nComps >= INT_MAX/nBits || - width >= INT_MAX/nComps/nBits) { + nComps > funcMaxOutputs || nBits > 16 || + width >= INT_MAX / nComps || + nVals >= (INT_MAX - 7) / nBits) { return; } nVals = width * nComps;