aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/wmavoice.c
diff options
context:
space:
mode:
authorLaurent Aimar <fenrir@videolan.org>2011-09-27 22:15:31 +0000
committerJanne Grunau <janne-libav@jannau.net>2011-10-07 16:25:31 +0200
commit1c1449b548a2a0bf0295a522051b04107286653c (patch)
tree8ea92fbd9a75d69fb5564632fcb329b44c179f08 /libavcodec/wmavoice.c
parent06be075cda0a6ba8bab8f543571b380884f562ac (diff)
downloadffmpeg-1c1449b548a2a0bf0295a522051b04107286653c.tar.gz
wmavoice: Check for out of bound writes
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Diffstat (limited to 'libavcodec/wmavoice.c')
-rw-r--r--libavcodec/wmavoice.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/wmavoice.c b/libavcodec/wmavoice.c
index c6e6e76c20..484720ee39 100644
--- a/libavcodec/wmavoice.c
+++ b/libavcodec/wmavoice.c
@@ -1880,6 +1880,8 @@ static void copy_bits(PutBitContext *pb,
rmn_bits = rmn_bytes = get_bits_left(gb);
if (rmn_bits < nbits)
return;
+ if (nbits > pb->size_in_bits - put_bits_count(pb))
+ return;
rmn_bits &= 7; rmn_bytes >>= 3;
if ((rmn_bits = FFMIN(rmn_bits, nbits)) > 0)
put_bits(pb, rmn_bits, get_bits(gb, rmn_bits));