diff mbox

[FFmpeg-devel,1/6] avcodec/mpegaudiodec_template: Check for negative e

Message ID 20170308222843.9289-1-michael@niedermayer.cc
State Accepted
Commit 58dd25f8adb151a59971daa94d352d3226d2dbb6
Headers show

Commit Message

Michael Niedermayer March 8, 2017, 10:28 p.m. UTC
Fixes: undefined shift
Fixes: 631/clusterfuzz-testcase-6725491035734016

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

Comments

Michael Niedermayer March 9, 2017, 10:24 p.m. UTC | #1
On Wed, Mar 08, 2017 at 11:28:38PM +0100, Michael Niedermayer wrote:
> Fixes: undefined shift
> Fixes: 631/clusterfuzz-testcase-6725491035734016
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavcodec/mpegaudiodec_template.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

applied

[...]
diff mbox

Patch

diff --git a/libavcodec/mpegaudiodec_template.c b/libavcodec/mpegaudiodec_template.c
index a3729a9e29..88f62727cb 100644
--- a/libavcodec/mpegaudiodec_template.c
+++ b/libavcodec/mpegaudiodec_template.c
@@ -251,7 +251,7 @@  static inline int l3_unscale(int value, int exponent)
     if(e < 1)
         av_log(NULL, AV_LOG_WARNING, "l3_unscale: e is %d\n", e);
 #endif
-    if (e > 31)
+    if (e > (SUINT)31)
         return 0;
     m = (m + (1 << (e - 1))) >> e;