summaryrefslogtreecommitdiff
path: root/source/fitz/compressed-buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz/compressed-buffer.c')
-rw-r--r--source/fitz/compressed-buffer.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/source/fitz/compressed-buffer.c b/source/fitz/compressed-buffer.c
index 85890c72..d1c73351 100644
--- a/source/fitz/compressed-buffer.c
+++ b/source/fitz/compressed-buffer.c
@@ -27,7 +27,8 @@ fz_open_image_decomp_stream(fz_context *ctx, fz_stream *chain, fz_compression_pa
switch (params->type)
{
case FZ_IMAGE_FAX:
- *l2factor = 0;
+ if (l2factor)
+ *l2factor = 0;
return fz_open_faxd(ctx, chain,
params->u.fax.k,
params->u.fax.end_of_line,
@@ -37,26 +38,30 @@ fz_open_image_decomp_stream(fz_context *ctx, fz_stream *chain, fz_compression_pa
params->u.fax.end_of_block,
params->u.fax.black_is_1);
case FZ_IMAGE_JPEG:
- if (*l2factor > 3)
+ if (l2factor && *l2factor > 3)
*l2factor = 3;
- return fz_open_dctd(ctx, chain, params->u.jpeg.color_transform, *l2factor, NULL);
+ return fz_open_dctd(ctx, chain, params->u.jpeg.color_transform, l2factor ? *l2factor : 0, NULL);
case FZ_IMAGE_RLD:
- *l2factor = 0;
+ if (l2factor)
+ *l2factor = 0;
return fz_open_rld(ctx, chain);
case FZ_IMAGE_FLATE:
- *l2factor = 0;
+ if (l2factor)
+ *l2factor = 0;
chain = fz_open_flated(ctx, chain, 15);
if (params->u.flate.predictor > 1)
chain = fz_open_predict(ctx, chain, params->u.flate.predictor, params->u.flate.columns, params->u.flate.colors, params->u.flate.bpc);
return chain;
case FZ_IMAGE_LZW:
- *l2factor = 0;
+ if (l2factor)
+ *l2factor = 0;
chain = fz_open_lzwd(ctx, chain, params->u.lzw.early_change);
if (params->u.lzw.predictor > 1)
chain = fz_open_predict(ctx, chain, params->u.lzw.predictor, params->u.lzw.columns, params->u.lzw.colors, params->u.lzw.bpc);
return chain;
default:
- *l2factor = 0;
+ if (l2factor)
+ *l2factor = 0;
break;
}