[FFmpeg-devel] [PATCH 00/15] Fix undefined behaviour II
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Wed Sep 25 01:02:55 EEST 2019
Here is another batch of fixes for undefined behaviour found via running
FATE through UBSan.* Most of the issues found are invalid left shifts of
negative numbers and so are my patches.
I have only fixed issues where I was sure that no overflow can happen in
the multiplication that replaced a left shift; simply checking that it
fixed the FATE test was not enough.
- Andreas
*: While I earlier recommended compiling with -fsanitize-trap=undefined,
I now use -fno-sanitize-recover=undefined. Gives nicer logs.
Andreas Rheinhardt (15):
avutil/common: Add macro for left-shifting
avcodec/truespeech: Fix invalid shift
avfilter/vf_xbr: Fix left shift of negative number
avfilter/hqx: Fix undefined left shifts of negative numbers
swscale/x86/swscale: Fix undefined left shifts of negative numbers
avcodec/adpcm: Fix undefined left shifts of negative numbers
avcodec/cavsdsp: Fix undefined left shifts of negative numbers
avcodec/ffv1enc: Factor check out of a loop
avcodec/ffv1enc: Fix out-of-bounds-array access
swscale/utils: Fix invalid left shifts of negative numbers
avformat/webmdashenc: Don't pass NULL to memcmp
avcodec/exr: Fix undefined left shifts of negative numbers
avcodec/vc1_pred: Fix undefined left shifts of negative numbers
avcodec/cinepakenc: Fix invalid shifts
avcodec/dnxhdenc: Fix undefined left shifts of negative numbers
libavcodec/adpcm.c | 20 +++++++--------
libavcodec/cavsdsp.c | 52 +++++++++++++++++++--------------------
libavcodec/cinepakenc.c | 11 +++++----
libavcodec/dnxhdenc.c | 6 ++---
libavcodec/exr.c | 2 +-
libavcodec/ffv1enc.c | 11 ++++++---
libavcodec/truespeech.c | 2 +-
libavcodec/vc1_pred.c | 4 +--
libavfilter/vf_hqx.c | 2 +-
libavfilter/vf_xbr.c | 2 +-
libavformat/webmdashenc.c | 3 ++-
libavutil/common.h | 8 ++++++
libswscale/utils.c | 2 +-
libswscale/x86/swscale.c | 4 +--
14 files changed, 72 insertions(+), 57 deletions(-)
--
2.20.1
More information about the ffmpeg-devel
mailing list