avformat/av1: Fix leak of dynamic buffer in case of parsing failure

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
pull/333/head
Andreas Rheinhardt 5 years ago committed by James Almer
parent 9cd56bb94c
commit 27c6c92534
  1. 5
      libavformat/av1.c

@ -26,6 +26,7 @@
#include "libavcodec/put_bits.h" #include "libavcodec/put_bits.h"
#include "av1.h" #include "av1.h"
#include "avio.h" #include "avio.h"
#include "avio_internal.h"
int ff_av1_filter_obus(AVIOContext *pb, const uint8_t *buf, int size) 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; return ret;
ret = ff_av1_filter_obus(pb, buf, *size); ret = ff_av1_filter_obus(pb, buf, *size);
if (ret < 0) if (ret < 0) {
ffio_free_dyn_buf(&pb);
return ret; return ret;
}
av_freep(out); av_freep(out);
*size = avio_close_dyn_buf(pb, out); *size = avio_close_dyn_buf(pb, out);

Loading…
Cancel
Save