diff mbox

[FFmpeg-devel] avcodec/scpr3: add missing check for decode_value3() return value

Message ID 20190426153119.2006-1-jamrial@gmail.com
State Accepted
Commit 938cb783d40ad5ee40f4e2be8617fdfb493dbe4d
Headers show

Commit Message

James Almer April 26, 2019, 3:31 p.m. UTC
Fixes ticket #7866.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavcodec/scpr3.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

James Almer April 27, 2019, 7:18 p.m. UTC | #1
On 4/26/2019 12:31 PM, James Almer wrote:
> Fixes ticket #7866.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavcodec/scpr3.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/libavcodec/scpr3.c b/libavcodec/scpr3.c
> index f92ccfa902..5cfad9f4d2 100644
> --- a/libavcodec/scpr3.c
> +++ b/libavcodec/scpr3.c
> @@ -1038,6 +1038,9 @@ static int decompress_p3(AVCodecContext *avctx,
>                           s->range_model3.freqs[1],
>                           s->range_model3.cnts,
>                           s->range_model3.dectab, &temp);
> +    if (ret < 0)
> +        return ret;
> +
>      min += temp << 8;
>      ret |= decode_value3(s, 255, &s->range_model3.cntsum,
>                           s->range_model3.freqs[0],

Pushed.
Carl Eugen Hoyos April 28, 2019, 6:26 p.m. UTC | #2
2019-04-26 17:31 GMT+02:00, James Almer <jamrial@gmail.com>:
> Fixes ticket #7866.
>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavcodec/scpr3.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/libavcodec/scpr3.c b/libavcodec/scpr3.c
> index f92ccfa902..5cfad9f4d2 100644
> --- a/libavcodec/scpr3.c
> +++ b/libavcodec/scpr3.c
> @@ -1038,6 +1038,9 @@ static int decompress_p3(AVCodecContext *avctx,
>                           s->range_model3.freqs[1],
>                           s->range_model3.cnts,
>                           s->range_model3.dectab, &temp);
> +    if (ret < 0)
> +        return ret;
> +
>      min += temp << 8;

Why is it a problem to access an uninitialized value?

Carl Eugen
diff mbox

Patch

diff --git a/libavcodec/scpr3.c b/libavcodec/scpr3.c
index f92ccfa902..5cfad9f4d2 100644
--- a/libavcodec/scpr3.c
+++ b/libavcodec/scpr3.c
@@ -1038,6 +1038,9 @@  static int decompress_p3(AVCodecContext *avctx,
                          s->range_model3.freqs[1],
                          s->range_model3.cnts,
                          s->range_model3.dectab, &temp);
+    if (ret < 0)
+        return ret;
+
     min += temp << 8;
     ret |= decode_value3(s, 255, &s->range_model3.cntsum,
                          s->range_model3.freqs[0],