• Andreas Rheinhardt's avatar
    avutil/opt: Avoid av_strdup(NULL) · aa7d6520
    Andreas Rheinhardt authored
    It is not documented to be safe and in any case it is nonsense:
    Currently av_strdup(NULL) returns NULL and in order to distinguish
    this from a genuine allocation failure, opt_copy_elem()
    checked afterwards whether src was actually NULL. But then one
    can simply check in advance whether one should call av_strdup()
    at all.
    set_string() was even worse and returned ENOMEM in case the value
    to be duplicated is NULL; this only worked because
    av_opt_set_defaults2() does not check the return value at all
    (given that it can't propagate it).
    
    These two places account for 389114 of 390356 av_strdup(NULL)
    calls during one FATE run.
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@outlook.com>
    aa7d6520
Name
Last commit
Last update
..
aarch64 Loading commit data...
arm Loading commit data...
avr32 Loading commit data...
loongarch Loading commit data...
mips Loading commit data...
ppc Loading commit data...
riscv Loading commit data...
sh4 Loading commit data...
tests Loading commit data...
x86 Loading commit data...
.gitignore Loading commit data...
Makefile Loading commit data...
adler32.c Loading commit data...
adler32.h Loading commit data...
aes.c Loading commit data...
aes.h Loading commit data...
aes_ctr.c Loading commit data...
aes_ctr.h Loading commit data...
aes_internal.h Loading commit data...
ambient_viewing_environment.c Loading commit data...
ambient_viewing_environment.h Loading commit data...
attributes.h Loading commit data...
attributes_internal.h Loading commit data...
audio_fifo.c Loading commit data...
audio_fifo.h Loading commit data...
avassert.h Loading commit data...
avsscanf.c Loading commit data...
avstring.c Loading commit data...
avstring.h Loading commit data...
avutil.h Loading commit data...
avutilres.rc Loading commit data...
base64.c Loading commit data...
base64.h Loading commit data...
blowfish.c Loading commit data...
blowfish.h Loading commit data...
bprint.c Loading commit data...
bprint.h Loading commit data...
bswap.h Loading commit data...
buffer.c Loading commit data...
buffer.h Loading commit data...
buffer_internal.h Loading commit data...
camellia.c Loading commit data...
camellia.h Loading commit data...
cast5.c Loading commit data...
cast5.h Loading commit data...
channel_layout.c Loading commit data...
channel_layout.h Loading commit data...
colorspace.h Loading commit data...
common.h Loading commit data...
cpu.c Loading commit data...
cpu.h Loading commit data...
cpu_internal.h Loading commit data...
crc.c Loading commit data...
crc.h Loading commit data...
csp.c Loading commit data...
csp.h Loading commit data...
cuda_check.h Loading commit data...
des.c Loading commit data...
des.h Loading commit data...
detection_bbox.c Loading commit data...
detection_bbox.h Loading commit data...
dict.c Loading commit data...
dict.h Loading commit data...
dict_internal.h Loading commit data...
display.c Loading commit data...
display.h Loading commit data...
dovi_meta.c Loading commit data...
dovi_meta.h Loading commit data...
downmix_info.c Loading commit data...
downmix_info.h Loading commit data...
dynarray.h Loading commit data...
emms.h Loading commit data...
encryption_info.c Loading commit data...
encryption_info.h Loading commit data...
error.c Loading commit data...
error.h Loading commit data...
eval.c Loading commit data...
eval.h Loading commit data...
executor.c Loading commit data...
executor.h Loading commit data...
ffmath.h Loading commit data...
fifo.c Loading commit data...
fifo.h Loading commit data...
file.c Loading commit data...
file.h Loading commit data...
file_open.c Loading commit data...
file_open.h Loading commit data...
film_grain_params.c Loading commit data...
film_grain_params.h Loading commit data...
fixed_dsp.c Loading commit data...
fixed_dsp.h Loading commit data...
float2half.c Loading commit data...
float2half.h Loading commit data...
float_dsp.c Loading commit data...
float_dsp.h Loading commit data...
frame.c Loading commit data...
frame.h Loading commit data...
getenv_utf8.h Loading commit data...
half2float.c Loading commit data...
half2float.h Loading commit data...
hash.c Loading commit data...
hash.h Loading commit data...
hdr_dynamic_metadata.c Loading commit data...
hdr_dynamic_metadata.h Loading commit data...
hdr_dynamic_vivid_metadata.c Loading commit data...
hdr_dynamic_vivid_metadata.h Loading commit data...
hmac.c Loading commit data...
hmac.h Loading commit data...
hwcontext.c Loading commit data...
hwcontext.h Loading commit data...
hwcontext_cuda.c Loading commit data...
hwcontext_cuda.h Loading commit data...
hwcontext_cuda_internal.h Loading commit data...
hwcontext_d3d11va.c Loading commit data...
hwcontext_d3d11va.h Loading commit data...
hwcontext_d3d12va.c Loading commit data...
hwcontext_d3d12va.h Loading commit data...
hwcontext_d3d12va_internal.h Loading commit data...
hwcontext_drm.c Loading commit data...
hwcontext_drm.h Loading commit data...
hwcontext_dxva2.c Loading commit data...
hwcontext_dxva2.h Loading commit data...
hwcontext_internal.h Loading commit data...
hwcontext_mediacodec.c Loading commit data...
hwcontext_mediacodec.h Loading commit data...
hwcontext_opencl.c Loading commit data...
hwcontext_opencl.h Loading commit data...
hwcontext_qsv.c Loading commit data...
hwcontext_qsv.h Loading commit data...
hwcontext_stub.c Loading commit data...
hwcontext_vaapi.c Loading commit data...
hwcontext_vaapi.h Loading commit data...
hwcontext_vdpau.c Loading commit data...
hwcontext_vdpau.h Loading commit data...
hwcontext_videotoolbox.c Loading commit data...
hwcontext_videotoolbox.h Loading commit data...
hwcontext_vulkan.c Loading commit data...
hwcontext_vulkan.h Loading commit data...
iamf.c Loading commit data...
iamf.h Loading commit data...
imgutils.c Loading commit data...
imgutils.h Loading commit data...
imgutils_internal.h Loading commit data...
integer.c Loading commit data...
integer.h Loading commit data...
internal.h Loading commit data...
intfloat.h Loading commit data...
intmath.c Loading commit data...
intmath.h Loading commit data...
intreadwrite.h Loading commit data...
lfg.c Loading commit data...
lfg.h Loading commit data...
libavutil.v Loading commit data...
libm.h Loading commit data...
lls.c Loading commit data...
lls.h Loading commit data...
log.c Loading commit data...
log.h Loading commit data...
log2_tab.c Loading commit data...
lzo.c Loading commit data...
lzo.h Loading commit data...
macos_kperf.c Loading commit data...
macos_kperf.h Loading commit data...
macros.h Loading commit data...
mastering_display_metadata.c Loading commit data...
mastering_display_metadata.h Loading commit data...
mathematics.c Loading commit data...
mathematics.h Loading commit data...
md5.c Loading commit data...
md5.h Loading commit data...
mem.c Loading commit data...
mem.h Loading commit data...
mem_internal.h Loading commit data...
motion_vector.h Loading commit data...
murmur3.c Loading commit data...
murmur3.h Loading commit data...
objc.h Loading commit data...
opt.c Loading commit data...
opt.h Loading commit data...
parseutils.c Loading commit data...
parseutils.h Loading commit data...
pca.c Loading commit data...
pca.h Loading commit data...
pixdesc.c Loading commit data...
pixdesc.h Loading commit data...
pixelutils.c Loading commit data...
pixelutils.h Loading commit data...
pixfmt.h Loading commit data...
qsort.h Loading commit data...
random_seed.c Loading commit data...
random_seed.h Loading commit data...
rational.c Loading commit data...
rational.h Loading commit data...
rc4.c Loading commit data...
rc4.h Loading commit data...
replaygain.h Loading commit data...
reverse.c Loading commit data...
reverse.h Loading commit data...
ripemd.c Loading commit data...
ripemd.h Loading commit data...
samplefmt.c Loading commit data...
samplefmt.h Loading commit data...
sfc64.h Loading commit data...
sha.c Loading commit data...
sha.h Loading commit data...
sha512.c Loading commit data...
sha512.h Loading commit data...
slicethread.c Loading commit data...
slicethread.h Loading commit data...
softfloat.h Loading commit data...
softfloat_ieee754.h Loading commit data...
softfloat_tables.h Loading commit data...
spherical.c Loading commit data...
spherical.h Loading commit data...
stereo3d.c Loading commit data...
stereo3d.h Loading commit data...
tablegen.h Loading commit data...
tea.c Loading commit data...
tea.h Loading commit data...
thread.h Loading commit data...
threadmessage.c Loading commit data...
threadmessage.h Loading commit data...
time.c Loading commit data...
time.h Loading commit data...
time_internal.h Loading commit data...
timecode.c Loading commit data...
timecode.h Loading commit data...
timer.h Loading commit data...
timestamp.c Loading commit data...
timestamp.h Loading commit data...
tree.c Loading commit data...
tree.h Loading commit data...
twofish.c Loading commit data...
twofish.h Loading commit data...
tx.c Loading commit data...
tx.h Loading commit data...
tx_double.c Loading commit data...
tx_float.c Loading commit data...
tx_int32.c Loading commit data...
tx_priv.h Loading commit data...
tx_template.c Loading commit data...
utils.c Loading commit data...
uuid.c Loading commit data...
uuid.h Loading commit data...
version.c Loading commit data...
version.h Loading commit data...
version_major.h Loading commit data...
video_enc_params.c Loading commit data...
video_enc_params.h Loading commit data...
video_hint.c Loading commit data...
video_hint.h Loading commit data...
vulkan.c Loading commit data...
vulkan.h Loading commit data...
vulkan_functions.h Loading commit data...
vulkan_loader.h Loading commit data...
wchar_filename.h Loading commit data...
xga_font_data.c Loading commit data...
xga_font_data.h Loading commit data...
xtea.c Loading commit data...
xtea.h Loading commit data...