[FFmpeg-cvslog] Fix segfault in save_bits:

Sascha Sommer git at videolan.org
Sat Sep 24 21:27:13 CEST 2011


ffmpeg | branch: master | Sascha Sommer <saschasommer at freenet.de> | Sat Sep 24 20:56:41 2011 +0200| [780d45473c32fa356c8ce385c3ea4692567c3228] | committer: Sascha Sommer

Fix segfault in save_bits:
use put_bits_count to get the buffer fill state instead of
num_saved_bits as num_saved_bits is sometimes reset when
frames are lost
(Ticket 495)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=780d45473c32fa356c8ce385c3ea4692567c3228
---

 libavcodec/wmaprodec.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index d4ec0c0..cade842 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -1436,7 +1436,7 @@ static void save_bits(WMAProDecodeCtx *s, GetBitContext* gb, int len,
         init_put_bits(&s->pb, s->frame_data, MAX_FRAMESIZE);
     }
 
-    buflen = (s->num_saved_bits + len + 8) >> 3;
+    buflen = (put_bits_count(&s->pb) + len + 8) >> 3;
 
     if (len <= 0 || buflen > MAX_FRAMESIZE) {
         av_log_ask_for_sample(s->avctx, "input buffer too small\n");



More information about the ffmpeg-cvslog mailing list