diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2022-11-21 00:20:14 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2022-11-28 20:58:05 +0100 |
commit | 7792825ad6b84f54f5a7fd7f90a907291363c419 (patch) | |
tree | 1b42820f25e6a64ff152d43aa42d2db2cde80410 /libavutil/tx_priv.h | |
parent | 90c17a05aab798199f3cdafb7cab61f666f132be (diff) | |
download | ffmpeg-7792825ad6b84f54f5a7fd7f90a907291363c419.tar.gz |
avutil/tx: Use unsigned in ff_tx_fft_sr_combine() to avoid undefined behavior
Fixes: signed integer overflow: -1284837070 - 982101618 cannot be represented in type 'int'
Fixes: 53105/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AC3_FIXED_fuzzer-4848015827664896
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavutil/tx_priv.h')
-rw-r--r-- | libavutil/tx_priv.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libavutil/tx_priv.h b/libavutil/tx_priv.h index 8a79cf0dd3..72f336eea7 100644 --- a/libavutil/tx_priv.h +++ b/libavutil/tx_priv.h @@ -34,6 +34,7 @@ #define MULT(x, m) ((x) * (m)) #define SCALE_TYPE float typedef float TXSample; +typedef float TXUSample; typedef AVComplexFloat TXComplex; #elif defined(TX_DOUBLE) #define TX_TAB(x) x ## _double @@ -45,6 +46,7 @@ typedef AVComplexFloat TXComplex; #define MULT(x, m) ((x) * (m)) #define SCALE_TYPE double typedef double TXSample; +typedef double TXUSample; typedef AVComplexDouble TXComplex; #elif defined(TX_INT32) #define TX_TAB(x) x ## _int32 @@ -56,6 +58,7 @@ typedef AVComplexDouble TXComplex; #define MULT(x, m) (((((int64_t)(x)) * (int64_t)(m)) + 0x40000000) >> 31) #define SCALE_TYPE float typedef int32_t TXSample; +typedef uint32_t TXUSample; typedef AVComplexInt32 TXComplex; #else typedef void TXComplex; |