diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-05-04 16:49:47 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-01-16 01:58:13 +0100 |
commit | db20610c4967696d3d0b7c48e2555593c2c1d59f (patch) | |
tree | f8947bf81d4dd37e3a0f1bd00df15dcd6562ed59 | |
parent | 15a736483e3cb672e343ab3ffb78281675896d6f (diff) | |
download | ffmpeg-db20610c4967696d3d0b7c48e2555593c2c1d59f.tar.gz |
wmaprodec: Fix null pointer dereference in decode_frame()
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c7a7605656633e52ade8a5d32a7c2497b37faef8)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/wmaprodec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c index a772e7371a..f0944fe486 100644 --- a/libavcodec/wmaprodec.c +++ b/libavcodec/wmaprodec.c @@ -1572,7 +1572,8 @@ static int decode_packet(AVCodecContext *avctx, void *data, (frame_size = show_bits(gb, s->log2_frame_size)) && frame_size <= remaining_bits(s, gb)) { save_bits(s, gb, frame_size, 0); - s->packet_done = !decode_frame(s, data, got_frame_ptr); + if (!s->packet_loss) + s->packet_done = !decode_frame(s, data, got_frame_ptr); } else if (!s->len_prefix && s->num_saved_bits > get_bits_count(&s->gb)) { /** when the frames do not have a length prefix, we don't know |