From 40123639fe7edc2cbd42f2b1ffb9d072131be5ad Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Thu, 21 Nov 2019 07:17:19 +0100 Subject: [PATCH] avformat/av1: Fix leak of dynamic buffer in case of parsing failure Signed-off-by: Andreas Rheinhardt Signed-off-by: James Almer (cherry picked from commit 27c6c925344e00c1a72ba8bb2b5cdd32cb1a2655) --- libavformat/av1.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavformat/av1.c b/libavformat/av1.c index b36c5e44ba..03669dfd2a 100644 --- a/libavformat/av1.c +++ b/libavformat/av1.c @@ -26,6 +26,7 @@ #include "libavcodec/put_bits.h" #include "av1.h" #include "avio.h" +#include "avio_internal.h" int ff_av1_filter_obus(AVIOContext *pb, const uint8_t *buf, int size) { @@ -67,8 +68,10 @@ int ff_av1_filter_obus_buf(const uint8_t *buf, uint8_t **out, int *size) return ret; ret = ff_av1_filter_obus(pb, buf, *size); - if (ret < 0) + if (ret < 0) { + ffio_free_dyn_buf(&pb); return ret; + } av_freep(out); *size = avio_close_dyn_buf(pb, out);