commit 033f5f61bf8666d3528742335233c5b29da07c98
parent e467ddca19ac2233c021bb7f41ce13cb6d8d8c95
Author: Christian Grothoff <christian@grothoff.org>
Date: Fri, 9 Dec 2005 19:35:17 +0000
sync
Diffstat:
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/plugins/pdf/Stream.cc b/src/plugins/pdf/Stream.cc
@@ -2921,9 +2921,6 @@ GBool DCTStream::readBaselineSOF() {
if (numComps <= 0 || numComps > 4) {
return gFalse;
}
- if (numComps <= 0 || numComps > 4) {
- return gFalse;
- }
if (prec != 8) {
error(getPos(), "Bad DCT precision %d", prec);
@@ -2951,6 +2948,9 @@ GBool DCTStream::readProgressiveSOF() {
height = read16();
width = read16();
numComps = str->getChar();
+ if (numComps <= 0 || numComps > 4) {
+ return gFalse;
+ }
if (prec != 8) {
error(getPos(), "Bad DCT precision %d", prec);
return gFalse;
@@ -2973,6 +2973,10 @@ GBool DCTStream::readScanInfo() {
length = read16() - 2;
scanInfo.numComps = str->getChar();
+ if (scanInfo.numComps <= 0 || scanInfo.numComps > 4) {
+ error(getPos(), "Bad number of components in DCT stream");
+ return gFalse;
+ }
--length;
if (length != 2 * scanInfo.numComps + 3) {
error(getPos(), "Bad DCT scan info block");