avcodec/texturedsp: Fix runtime error: left shift of 255 by 24 places cannot be repre...
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 12 May 2017 11:15:33 +0000 (13:15 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 12 May 2017 11:40:59 +0000 (13:40 +0200)
Fixes: 1505/clusterfuzz-testcase-minimized-4561688818876416

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/texturedsp.c

index 49e97c9..90b1eb4 100644 (file)
@@ -158,7 +158,7 @@ static inline void dxt3_block_internal(uint8_t *dst, ptrdiff_t stride,
 
         for (x = 0; x < 4; x++) {
             uint8_t alpha = alpha_values[x];
-            uint32_t pixel = colors[code & 3] | (alpha << 24);
+            uint32_t pixel = colors[code & 3] | ((unsigned)alpha << 24);
             code >>= 2;
 
             AV_WL32(dst + x * 4, pixel);