[FFmpeg-cvslog] avcodec/wmaprodec: return value check for init_get_bits

maryam ebrahimzadeh git at videolan.org
Sat Aug 28 20:22:34 EEST 2021


ffmpeg | branch: master | maryam ebrahimzadeh <me22bee at outlook.com> | Fri Aug 27 02:40:14 2021 -0400| [2c0d522963a8eaca8949946112656651baa367b2] | committer: Paul B Mahol

avcodec/wmaprodec: return value check for init_get_bits

Also replace init_get_bits with init_get_bits8().

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

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

diff --git a/libavcodec/wmaprodec.c b/libavcodec/wmaprodec.c
index 3e7ec1a8b9..66271c4037 100644
--- a/libavcodec/wmaprodec.c
+++ b/libavcodec/wmaprodec.c
@@ -1618,6 +1618,7 @@ static int decode_packet(AVCodecContext *avctx, WMAProDecodeCtx *s,
     int buf_size       = avpkt->size;
     int num_bits_prev_frame;
     int packet_sequence_number;
+    int ret;
 
     *got_frame_ptr = 0;
 
@@ -1669,7 +1670,9 @@ static int decode_packet(AVCodecContext *avctx, WMAProDecodeCtx *s,
         s->buf_bit_size = buf_size << 3;
 
         /** parse packet header */
-        init_get_bits(gb, buf, s->buf_bit_size);
+        ret = init_get_bits8(gb, buf, buf_size);
+        if (ret < 0)
+            return ret;
         if (avctx->codec_id != AV_CODEC_ID_XMA2) {
             packet_sequence_number = get_bits(gb, 4);
             skip_bits(gb, 2);
@@ -1737,7 +1740,9 @@ static int decode_packet(AVCodecContext *avctx, WMAProDecodeCtx *s,
         }
 
         s->buf_bit_size = (avpkt->size - s->next_packet_start) << 3;
-        init_get_bits(gb, avpkt->data, s->buf_bit_size);
+        ret = init_get_bits8(gb, avpkt->data, avpkt->size - s->next_packet_start);
+        if (ret < 0)
+            return ret;
         skip_bits(gb, s->packet_offset);
         if (s->len_prefix && remaining_bits(s, gb) > s->log2_frame_size &&
             (frame_size = show_bits(gb, s->log2_frame_size)) &&



More information about the ffmpeg-cvslog mailing list