Commit 2b53e696 authored by Janne Grunau's avatar Janne Grunau

ptx: emit a warning on insufficient picture data

Return the whole packet as consumed in this case and not the size the
packet should have had. Move the insufficient data check into the for
condition to fix a ISO C90 error on bigendian.
parent 97334f10
......@@ -84,9 +84,7 @@ static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
ptr = p->data[0];
stride = p->linesize[0];
for (y=0; y<h; y++) {
if (buf_end - buf < w * bytes_per_pixel)
break;
for (y = 0; y < h && buf_end - buf < w * bytes_per_pixel; y++) {
#if HAVE_BIGENDIAN
unsigned int x;
for (x=0; x<w*bytes_per_pixel; x+=bytes_per_pixel)
......@@ -101,6 +99,11 @@ static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
*picture = s->picture;
*data_size = sizeof(AVPicture);
if (y < h) {
av_log(avctx, AV_LOG_WARNING, "incomplete packet\n");
return avpkt->size;
}
return offset + w*h*bytes_per_pixel;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment