It will be removed in the next commit. Signed-off-by: James Almer <jamr...@gmail.com> --- libavcodec/utils.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/libavcodec/utils.c b/libavcodec/utils.c index c08f9a7da3..5394a179b0 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -29,7 +29,7 @@ #include "libavutil/avassert.h" #include "libavutil/avstring.h" #include "libavutil/intreadwrite.h" -#include "libavutil/mem_internal.h" +#include "libavutil/mem.h" #include "libavutil/pixdesc.h" #include "libavutil/imgutils.h" #include "libavutil/pixfmt.h" @@ -49,25 +49,31 @@ void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size) { - uint8_t **p = ptr; + uint8_t *tmp, **p = ptr; if (min_size > SIZE_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { av_freep(p); *size = 0; return; } - if (!ff_fast_malloc(p, size, min_size + AV_INPUT_BUFFER_PADDING_SIZE, 1)) + tmp = *p; + av_fast_mallocz(p, size, min_size + AV_INPUT_BUFFER_PADDING_SIZE); + /* don't zero the padding if the buffer was reallocated */ + if (*p && *p == tmp) memset(*p + min_size, 0, AV_INPUT_BUFFER_PADDING_SIZE); } void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size) { - uint8_t **p = ptr; + uint8_t *tmp, **p = ptr; if (min_size > SIZE_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { av_freep(p); *size = 0; return; } - if (!ff_fast_malloc(p, size, min_size + AV_INPUT_BUFFER_PADDING_SIZE, 1)) + tmp = *p; + av_fast_mallocz(p, size, min_size + AV_INPUT_BUFFER_PADDING_SIZE); + /* don't zero the buffer if it was reallocated */ + if (*p && *p == tmp) memset(*p, 0, min_size + AV_INPUT_BUFFER_PADDING_SIZE); } -- 2.31.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".