comparison cinepak.c @ 2963:c8fa6a50fca5 libavcodec

correctly handle very large Cinepak frames (courtesy of John Koleszar <jkoleszar@on2.com>)
author melanson
date Wed, 14 Dec 2005 00:19:01 +0000
parents 7bfea1374957
children ef2149182f1c
comparison
equal deleted inserted replaced
2962:fde28cb7e3d5 2963:c8fa6a50fca5
323 if (s->size < 10) 323 if (s->size < 10)
324 return -1; 324 return -1;
325 325
326 frame_flags = s->data[0]; 326 frame_flags = s->data[0];
327 num_strips = BE_16 (&s->data[8]); 327 num_strips = BE_16 (&s->data[8]);
328 encoded_buf_size = BE_16 (&s->data[2]); 328 encoded_buf_size = ((s->data[1] << 16) | BE_16 (&s->data[2]));
329 if (encoded_buf_size != s->size) 329 if (encoded_buf_size != s->size)
330 sega_film_data = 1; 330 sega_film_data = 1;
331 if (sega_film_data) 331 if (sega_film_data)
332 s->data += 12; 332 s->data += 12;
333 else 333 else