• Andreas Rheinhardt's avatar
    avutil/mem: Use max_alloc_size as-is · 731c7758
    Andreas Rheinhardt authored
    The size of a single allocation performed by av_malloc() or av_realloc()
    is supposed to be bounded by max_alloc_size, which defaults to INT_MAX
    and can be set by the user; yet currently this is not completely
    honoured: The actual value used is max_alloc_size - 32. How this came
    to be can only be understood historically:
    
    a) 0ecca7a4 disallowed allocations
    > INT_MAX. At that time the size parameter of av_malloc() was an
    unsigned and the commentary added ("lets disallow possible ambiguous
    cases") indicates that this was done as a precaution against calling the
    functions with negative int values. Genuinely limiting the size of
    allocations to INT_MAX doesn't seem to have been the intention given
    that at this time the memalign hack introduced in commit
    da9b170c (which when enabled increased
    the size of allocations slightly so that one can return a correctly
    aligned pointer that actually does not point to the beginning of the
    allocated buffer) was already present.
    b) Said memalign hack allocated 17 bytes more than actually desired, yet
    allocating 16 bytes more is actually enough and so this was changed in
    a9493601; this commit also replaced
    INT_MAX by INT_MAX - 16 (and made the limit therefore a limit on the size
    of the allocated buffer), but kept the comment, although there is nothing
    ambiguous about allocating (INT_MAX - 16)..INT_MAX.
    c) 13dfce3d then increased 16 to 32 for
    AVX, 6b4c0be5 replaced INT_MAX by
    MAX_MALLOC_SIZE (which was of course defined to be INT_MAX) and
    5a8e9942 added max_alloc_size and made
    it user-selectable.
    d) 4fb311c8 then dropped the memalign
    hack, yet it kept the -32 (probably because the comment about ambiguous
    cases was still present?), although it is no longer needed at all after
    this commit. Therefore this commit removes it and uses max_alloc_size
    directly.
    Signed-off-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
    731c7758
Name
Last commit
Last update
..
aarch64 Loading commit data...
arm Loading commit data...
avr32 Loading commit data...
bfin Loading commit data...
mips Loading commit data...
ppc Loading commit data...
sh4 Loading commit data...
tests Loading commit data...
tomi 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...
attributes.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...
color_utils.c Loading commit data...
color_utils.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...
cuda_check.h Loading commit data...
des.c Loading commit data...
des.h Loading commit data...
dict.c Loading commit data...
dict.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...
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...
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...
fixed_dsp.c Loading commit data...
fixed_dsp.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...
hash.c Loading commit data...
hash.h Loading commit data...
hdr_dynamic_metadata.c Loading commit data...
hdr_dynamic_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_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_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...
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...
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...
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...
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.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...
version.h Loading commit data...
video_enc_params.c Loading commit data...
video_enc_params.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...