X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=deanimate.c;h=a6759da42644b18e6dd6bfcef323809dd73f8150;hp=b0f3f1f8036ef1ef976395e022b67559ef7183ef;hb=7f54fd0d1028f93f6ad9afe5e2d0a75b2263d06a;hpb=647353d3e6621b32696a08d66656b7c6bb8fb0a3 diff --git a/deanimate.c b/deanimate.c index b0f3f1f8..a6759da4 100644 --- a/deanimate.c +++ b/deanimate.c @@ -333,6 +333,10 @@ int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_im { return 1; } + if (src->size <= 10) + { + return 1; + } c = buf_getbyte(src, 10); @@ -383,9 +387,11 @@ int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_im switch(buf_getbyte(src, 0)) { /* - * End-of-GIF Marker: Append current image and return + * End-of-GIF Marker: Append current image if we got + * one and return. */ case 0x3b: + if (image->size == 0) goto failed; goto write; /*