summaryrefslogtreecommitdiff
path: root/fitz/filt_predict.c
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@hotmail.com>2009-06-22 01:38:04 +0200
committerSebastian Rasmussen <sebras@hotmail.com>2009-06-22 01:38:04 +0200
commitbee1453e4583941067625fd32a5c86137a64ce1e (patch)
tree9760b0023e0eb1c95c9d94b3352dab667120ced9 /fitz/filt_predict.c
parent451373e028f82fa2f1cc2a6a669df31d85c877bd (diff)
downloadmupdf-bee1453e4583941067625fd32a5c86137a64ce1e.tar.xz
Handle invalid predictors properly.
Diffstat (limited to 'fitz/filt_predict.c')
-rw-r--r--fitz/filt_predict.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fitz/filt_predict.c b/fitz/filt_predict.c
index 1286ec08..29416f0b 100644
--- a/fitz/filt_predict.c
+++ b/fitz/filt_predict.c
@@ -40,6 +40,15 @@ fz_newpredict(fz_filter **fp, fz_obj *params, int encode)
obj = fz_dictgets(params, "Predictor");
if (obj) p->predictor = fz_toint(obj);
+ if (p->predictor != 1 && p->predictor != 2 &&
+ p->predictor != 10 && p->predictor != 11 &&
+ p->predictor != 12 && p->predictor != 13 &&
+ p->predictor != 14 && p->predictor != 15)
+ {
+ fz_free(p);
+ return fz_throw("invalid predictor");
+ }
+
obj = fz_dictgets(params, "Columns");
if (obj) p->columns = fz_toint(obj);