diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-02-21 22:00:19 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-02-22 22:53:11 +0100 |
commit | 469cb61193861baf46cce76f98985b026b08cd8d (patch) | |
tree | 097412b8e5f20bf07698f89bbf85b4b575aa8092 | |
parent | a642be972d4861159f8bf4ef47afcc8f60a2f02b (diff) | |
download | ffmpeg-469cb61193861baf46cce76f98985b026b08cd8d.tar.gz |
avcodec_decode_audio4: check got_frame_ptr before handling initial skip
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8a6449167a6da8cb747cfe3502ae86ffaac2ed48)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/utils.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 12265a95ea..6552b9ee8d 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1767,7 +1767,7 @@ int attribute_align_arg avcodec_decode_audio4(AVCodecContext *avctx, av_log(avctx, AV_LOG_DEBUG, "skip %d samples due to side data\n", avctx->internal->skip_samples); } - if (avctx->internal->skip_samples) { + if (avctx->internal->skip_samples && *got_frame_ptr) { if(frame->nb_samples <= avctx->internal->skip_samples){ *got_frame_ptr = 0; avctx->internal->skip_samples -= frame->nb_samples; |