diff options
author | Sebastian Rasmussen <sebras@hotmail.com> | 2009-06-22 01:38:04 +0200 |
---|---|---|
committer | Sebastian Rasmussen <sebras@hotmail.com> | 2009-06-22 01:38:04 +0200 |
commit | bee1453e4583941067625fd32a5c86137a64ce1e (patch) | |
tree | 9760b0023e0eb1c95c9d94b3352dab667120ced9 /fitz/filt_predict.c | |
parent | 451373e028f82fa2f1cc2a6a669df31d85c877bd (diff) | |
download | mupdf-bee1453e4583941067625fd32a5c86137a64ce1e.tar.xz |
Handle invalid predictors properly.
Diffstat (limited to 'fitz/filt_predict.c')
-rw-r--r-- | fitz/filt_predict.c | 9 |
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); |