diff options
author | Loren Merritt <lorenm@u.washington.edu> | 2006-02-14 05:40:53 +0000 |
---|---|---|
committer | Loren Merritt <lorenm@u.washington.edu> | 2006-02-14 05:40:53 +0000 |
commit | 8b031359589dbe4ad207f014325c3341b795b625 (patch) | |
tree | 9cf8cba038824c0bf81321181f4bc63f3ee6df49 /libavcodec | |
parent | 214c5f26c9acd231056753dc2d336d73040bff34 (diff) | |
download | ffmpeg-8b031359589dbe4ad207f014325c3341b795b625.tar.gz |
fix some crashes on negative nalsize.
Originally committed as revision 5022 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/h264.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 4c2f0cb7ec..a90f9facd5 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -7507,6 +7507,15 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){ nalsize = 0; for(i = 0; i < h->nal_length_size; i++) nalsize = (nalsize << 8) | buf[buf_index++]; + if(nalsize <= 1){ + if(nalsize == 1){ + buf_index++; + continue; + }else{ + av_log(h->s.avctx, AV_LOG_ERROR, "AVC: nal size %d\n", nalsize); + break; + } + } } else { // start code prefix search for(; buf_index + 3 < buf_size; buf_index++){ |