[FFmpeg-devel] [PATCH] avformat/aviobuf: realloc memory in ffio_ensure_seekback()
Nicolas George
george at nsup.org
Tue Sep 15 14:39:45 EEST 2020
Paul B Mahol (12020-09-15):
> This removes big CPU overhead for demuxing chained ogg streams.
>
> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> ---
> libavformat/aviobuf.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c
> index a77517d712..6d01150f66 100644
> --- a/libavformat/aviobuf.c
> +++ b/libavformat/aviobuf.c
> @@ -1005,12 +1005,11 @@ int ffio_ensure_seekback(AVIOContext *s, int64_t buf_size)
> return 0;
> av_assert0(!s->write_flag);
>
> - buffer = av_malloc(buf_size);
> + buffer = s->buffer;
> + buffer = av_realloc(buffer, buf_size);
> if (!buffer)
> return AVERROR(ENOMEM);
Leaks in case of failure.
>
> - memcpy(buffer, s->buffer, filled);
> - av_free(s->buffer);
> s->buf_ptr = buffer + (s->buf_ptr - s->buffer);
> s->buf_end = buffer + (s->buf_end - s->buffer);
> s->buffer = buffer;
--
Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20200915/a10d5f7b/attachment.sig>
More information about the ffmpeg-devel
mailing list