Mercurial > libavcodec.hg
comparison cinepak.c @ 2787:af90d5dc83f0 libavcodec
fix infinite loop (suggested change by rjayne at convera dot com)
fixes bug #1160195
author | michael |
---|---|
date | Mon, 11 Jul 2005 22:34:34 +0000 |
parents | f68c446a5b97 |
children | 7bfea1374957 |
comparison
equal
deleted
inserted
replaced
2786:ee07e99e034f | 2787:af90d5dc83f0 |
---|---|
272 return -1; | 272 return -1; |
273 | 273 |
274 while ((data + 4) <= eod) { | 274 while ((data + 4) <= eod) { |
275 chunk_id = BE_16 (&data[0]); | 275 chunk_id = BE_16 (&data[0]); |
276 chunk_size = BE_16 (&data[2]) - 4; | 276 chunk_size = BE_16 (&data[2]) - 4; |
277 if(chunk_size < 0) | |
278 return -1; | |
279 | |
277 data += 4; | 280 data += 4; |
278 chunk_size = ((data + chunk_size) > eod) ? (eod - data) : chunk_size; | 281 chunk_size = ((data + chunk_size) > eod) ? (eod - data) : chunk_size; |
279 | 282 |
280 switch (chunk_id) { | 283 switch (chunk_id) { |
281 | 284 |