diff mbox

[FFmpeg-devel,3/4] avcodec/g723_1dec: fix invalid shift with negative sid_gain

Message ID 20191026231547.9722-3-michael@niedermayer.cc
State Accepted
Commit 1850c3feaa1c7b5b63a55c61075029fa59c84e66
Headers show

Commit Message

Michael Niedermayer Oct. 26, 2019, 11:15 p.m. UTC
Fixes: left shift of negative value -1
Fixes: 18395/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_G723_1_fuzzer-5710313034350592

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/g723_1dec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Paul B Mahol Oct. 27, 2019, 11:55 a.m. UTC | #1
lgtm

On 10/27/19, Michael Niedermayer <michael@niedermayer.cc> wrote:
> Fixes: left shift of negative value -1
> Fixes:
> 18395/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_G723_1_fuzzer-5710313034350592
>
> Found-by: continuous fuzzing process
> https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavcodec/g723_1dec.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/g723_1dec.c b/libavcodec/g723_1dec.c
> index a7bf528470..f601d31d00 100644
> --- a/libavcodec/g723_1dec.c
> +++ b/libavcodec/g723_1dec.c
> @@ -677,7 +677,7 @@ static int estimate_sid_gain(G723_1_ChannelContext *p)
>              if (p->sid_gain < 0) t = INT32_MIN;
>              else                 t = INT32_MAX;
>          } else
> -            t = p->sid_gain << shift;
> +            t = p->sid_gain * (1 << shift);
>      } else if(shift < -31) {
>          t = (p->sid_gain < 0) ? -1 : 0;
>      }else
> --
> 2.23.0
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Michael Niedermayer Oct. 29, 2019, 1:44 p.m. UTC | #2
On Sun, Oct 27, 2019 at 12:55:32PM +0100, Paul B Mahol wrote:
> lgtm

will apply

thx

[...]
diff mbox

Patch

diff --git a/libavcodec/g723_1dec.c b/libavcodec/g723_1dec.c
index a7bf528470..f601d31d00 100644
--- a/libavcodec/g723_1dec.c
+++ b/libavcodec/g723_1dec.c
@@ -677,7 +677,7 @@  static int estimate_sid_gain(G723_1_ChannelContext *p)
             if (p->sid_gain < 0) t = INT32_MIN;
             else                 t = INT32_MAX;
         } else
-            t = p->sid_gain << shift;
+            t = p->sid_gain * (1 << shift);
     } else if(shift < -31) {
         t = (p->sid_gain < 0) ? -1 : 0;
     }else