Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2017-10-13 19:59:16 +0300
committerJames Almer <jamrial@gmail.com>2017-10-30 03:25:49 +0300
commit4776c61424fa32394e251e9769e1ad2c2fa55598 (patch)
tree59c492ead8ca105f2df446696a47fd6269f78b25 /libavcodec/decode.c
parent195dd5c59c89b125b89078c736ae107bcaf23b37 (diff)
decode: avoid leaks on failure in ff_get_buffer()
If the get_buffer() call fails, the frame might have some side data already set. Make sure it gets freed. Merges Libav commit de77671438c24ffea93398c8dc885d4dd04477de. Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/decode.c')
-rw-r--r--libavcodec/decode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index 15fc82ad39..86fe5aef52 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -1598,6 +1598,9 @@ end:
frame->height = avctx->height;
}
+ if (ret < 0)
+ av_frame_unref(frame);
+
return ret;
}