summaryrefslogtreecommitdiff
path: root/fitz/filt_predict.c
diff options
context:
space:
mode:
authorTor Andersson <tor@ghostscript.com>2009-11-20 21:29:56 +0100
committerTor Andersson <tor@ghostscript.com>2009-11-20 21:29:56 +0100
commita16d9e0c25ed986c57c521aa87d87f6c343218a7 (patch)
tree9b0a38819ce69b9f1f9a187504224411d2dd8074 /fitz/filt_predict.c
parent549dbe8e5563f9a228c8de35f07d0108e3adf74c (diff)
downloadmupdf-a16d9e0c25ed986c57c521aa87d87f6c343218a7.tar.xz
Malloc cannot return null. Clean up streams and filters.
Diffstat (limited to 'fitz/filt_predict.c')
-rw-r--r--fitz/filt_predict.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/fitz/filt_predict.c b/fitz/filt_predict.c
index 77e03799..b86b2515 100644
--- a/fitz/filt_predict.c
+++ b/fitz/filt_predict.c
@@ -21,8 +21,8 @@ struct fz_predict_s
unsigned char *ref;
};
-fz_error
-fz_newpredictd(fz_filter **fp, fz_obj *params)
+fz_filter *
+fz_newpredictd(fz_obj *params)
{
fz_obj *obj;
@@ -42,8 +42,8 @@ fz_newpredictd(fz_filter **fp, fz_obj *params)
p->predictor != 12 && p->predictor != 13 &&
p->predictor != 14 && p->predictor != 15)
{
- fz_free(p);
- return fz_throw("invalid predictor");
+ fz_warn("invalid predictor: %d", p->predictor);
+ p->predictor = 1;
}
obj = fz_dictgets(params, "Columns");
@@ -64,11 +64,6 @@ fz_newpredictd(fz_filter **fp, fz_obj *params)
if (p->predictor >= 10)
{
p->ref = fz_malloc(p->stride);
- if (!p->ref)
- {
- fz_free(p);
- return fz_rethrow(-1, "out of memory: scanline buffer");
- }
memset(p->ref, 0, p->stride);
}
else
@@ -76,7 +71,7 @@ fz_newpredictd(fz_filter **fp, fz_obj *params)
p->ref = nil;
}
- return fz_okay;
+ return (fz_filter*)p;
}
void