diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-05-04 16:49:47 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-05-04 16:51:01 +0200 |
commit | c7a7605656633e52ade8a5d32a7c2497b37faef8 (patch) | |
tree | 2d7b89989d2293e8088681d1ec9a5617520c6933 /libavcodec | |
parent | e9e207ece7a22970a94a9094a12ec03250706212 (diff) | |
download | ffmpeg-c7a7605656633e52ade8a5d32a7c2497b37faef8.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>
Diffstat (limited to 'libavcodec')
-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 07cc2235ed..a71a67e12d 100644 --- a/libavcodec/wmaprodec.c +++ b/libavcodec/wmaprodec.c @@ -1581,7 +1581,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 |