aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-05-04 16:49:47 +0200
committerMichael Niedermayer <michaelni@gmx.at>2014-01-16 01:58:13 +0100
commitdb20610c4967696d3d0b7c48e2555593c2c1d59f (patch)
treef8947bf81d4dd37e3a0f1bd00df15dcd6562ed59
parent15a736483e3cb672e343ab3ffb78281675896d6f (diff)
downloadffmpeg-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.c3
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