diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2017-02-20 13:42:33 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2017-02-20 17:14:54 +0100 |
commit | 15ccaa344c4f645ae791aafecdef3d886e196127 (patch) | |
tree | cce386ede739cc96e0c5f9109cb8ad4af8e6f3a8 /libavcodec/mpegaudio.h | |
parent | 01d196a67dc55eb01cf3e06d6338c5d096a29b1c (diff) | |
download | ffmpeg-15ccaa344c4f645ae791aafecdef3d886e196127.tar.gz |
avcodec/mpegaudiodec: Eliminate many undefined operations
Fixes: 625/clusterfuzz-testcase-4574924406521856
Fixes: 626/clusterfuzz-testcase-4738718621499392
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/mpegaudio.h')
-rw-r--r-- | libavcodec/mpegaudio.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libavcodec/mpegaudio.h b/libavcodec/mpegaudio.h index 1591a170d7..fcded7ae3e 100644 --- a/libavcodec/mpegaudio.h +++ b/libavcodec/mpegaudio.h @@ -31,6 +31,7 @@ #endif #include <stdint.h> +#include "libavutil/internal.h" /* max frame size, in samples */ #define MPA_FRAME_SIZE 1152 @@ -58,16 +59,27 @@ #define FIX(a) ((int)((a) * FRAC_ONE)) +#ifdef CHECKED +#define SUINT int +#define SUINT32 int32_t +#else +#define SUINT unsigned +#define SUINT32 uint32_t +#endif + #if USE_FLOATS # define INTFLOAT float +# define SUINTFLOAT float typedef float MPA_INT; typedef float OUT_INT; #elif FRAC_BITS <= 15 # define INTFLOAT int +# define SUINTFLOAT SUINT typedef int16_t MPA_INT; typedef int16_t OUT_INT; #else # define INTFLOAT int +# define SUINTFLOAT SUINT typedef int32_t MPA_INT; typedef int16_t OUT_INT; #endif |