summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2017-07-01 11:32:56 +0200
committerAnton Khirnov <anton@khirnov.net>2017-07-24 11:45:24 +0200
commit5cf96d4b68ea496a149d1ac4711fcdc73b0fe0fa (patch)
treecb74e1c4d03ac92edcc8a1fdbb209f6cd86a67b1
parent2b1324bd167553f49736e4eaa94f96da9982925e (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.
-rw-r--r--libavcodec/decode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index 175a6fae4c..89a6d344c1 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -1154,6 +1154,9 @@ end:
frame->height = avctx->height;
}
+ if (ret < 0)
+ av_frame_unref(frame);
+
return ret;
}