mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-02 20:35:37 +02:00
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> (cherry picked from commit 27c6c925344e00c1a72ba8bb2b5cdd32cb1a2655) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
d2b434001f
commit
26ceb54a28
@ -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…
x
Reference in New Issue
Block a user