]> git.sesse.net Git - ffmpeg/commitdiff
avformat/av1: Fix leak of dynamic buffer in case of parsing failure
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Thu, 21 Nov 2019 06:17:19 +0000 (07:17 +0100)
committerJames Almer <jamrial@gmail.com>
Fri, 22 Nov 2019 03:09:05 +0000 (00:09 -0300)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
libavformat/av1.c

index b36c5e44ba3df7c3498f2d747e7caa0f56c59f6d..03669dfd2a9e2ce78de9f2142261a205df3fe296 100644 (file)
@@ -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);