[FFmpeg-cvslog] avcodec/vc1_parser: check ff_vc1_parse_frame_header*() return value
Michael Niedermayer
git at videolan.org
Sun Oct 27 13:52:23 CET 2013
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Oct 27 13:28:08 2013 +0100| [7eda2e524b8e2b645e0c62ccbe819594c03824cd] | committer: Michael Niedermayer
avcodec/vc1_parser: check ff_vc1_parse_frame_header*() return value
Fixed CID739860
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7eda2e524b8e2b645e0c62ccbe819594c03824cd
---
libavcodec/vc1_parser.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libavcodec/vc1_parser.c b/libavcodec/vc1_parser.c
index 1321320..cc29ce1 100644
--- a/libavcodec/vc1_parser.c
+++ b/libavcodec/vc1_parser.c
@@ -51,6 +51,7 @@ static void vc1_extract_headers(AVCodecParserContext *s, AVCodecContext *avctx,
for(start = buf, end = buf + buf_size; next < end; start = next){
int buf2_size, size;
+ int ret;
next = find_next_marker(start + 4, end);
size = next - start - 4;
@@ -66,9 +67,12 @@ static void vc1_extract_headers(AVCodecParserContext *s, AVCodecContext *avctx,
break;
case VC1_CODE_FRAME:
if(vpc->v.profile < PROFILE_ADVANCED)
- ff_vc1_parse_frame_header (&vpc->v, &gb);
+ ret = ff_vc1_parse_frame_header (&vpc->v, &gb);
else
- ff_vc1_parse_frame_header_adv(&vpc->v, &gb);
+ ret = ff_vc1_parse_frame_header_adv(&vpc->v, &gb);
+
+ if (ret < 0)
+ break;
/* keep AV_PICTURE_TYPE_BI internal to VC1 */
if (vpc->v.s.pict_type == AV_PICTURE_TYPE_BI)
More information about the ffmpeg-cvslog
mailing list