• Michael Niedermayer's avatar
    avcodec/flacdsp: Avoid undefined operations in non debug builds · 831274fb
    Michael Niedermayer authored
    This fixes ubsan warnings in non debug builds by using unsigned operations
    
    in debug builds the correct signed operations are retained so that overflows
    (which should not occur in valid files and may indicate problems in the DSP code
    or decoder) can be detected.
    
    Alternatively they can be changed to unsigned unconditionally, then its
    not possible though to detect overflows easily if someone wants to test
    the DSP code for overflows.
    
    The 2nd alternative would be to leave the code as it is and accept that
    there are undefined operations in the DSP code and that ubsan output is
    full of them in some cases.
    
    Similar changes would be needed in some other DSP routines
    Suggested-by: 's avatarMatt Wolenetz <wolenetz@google.com>
    Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    831274fb
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
cmdutils_opencl.c Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_cuvid.c Loading commit data...
ffmpeg_dxva2.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_qsv.c Loading commit data...
ffmpeg_vaapi.c Loading commit data...
ffmpeg_vdpau.c Loading commit data...
ffmpeg_videotoolbox.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
ffserver_config.c Loading commit data...
ffserver_config.h Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...