Signed-off-by: James Almer <jamr...@gmail.com> --- No testcase for this, just the theoretical scenario where a library user could flush the decoder after ENOMEM was signaled here, then pass new data where a frame with the same size as the last successfully allocated one is the first in line.
libavcodec/libdav1d.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c index 8c8584f4e8..d9079cbbef 100644 --- a/libavcodec/libdav1d.c +++ b/libavcodec/libdav1d.c @@ -72,8 +72,10 @@ static int libdav1d_picture_allocator(Dav1dPicture *p, void *cookie) av_buffer_pool_uninit(&dav1d->pool); // Use twice the amount of required padding bytes for aligned_ptr below. dav1d->pool = av_buffer_pool_init(ret + DAV1D_PICTURE_ALIGNMENT * 2, NULL); - if (!dav1d->pool) + if (!dav1d->pool) { + dav1d->pool_size = 0; return AVERROR(ENOMEM); + } dav1d->pool_size = ret; } buf = av_buffer_pool_get(dav1d->pool); -- 2.21.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel