aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/rkmppdec.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-09-24 13:32:08 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2024-04-19 13:18:04 +0200
commit9a0614c7bd4586e14d2047c32362bed565f9a669 (patch)
treea927d6ea5ea5abfe5f4381315e68d35878d187e6 /libavcodec/rkmppdec.c
parent4513300989502090c4fd6560544dce399a8cd53c (diff)
downloadffmpeg-9a0614c7bd4586e14d2047c32362bed565f9a669.tar.gz
avcodec/rkmppdec: Check av_buffer_ref()
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/rkmppdec.c')
-rw-r--r--libavcodec/rkmppdec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/rkmppdec.c b/libavcodec/rkmppdec.c
index 6889545b20..4e14d09c7c 100644
--- a/libavcodec/rkmppdec.c
+++ b/libavcodec/rkmppdec.c
@@ -450,6 +450,10 @@ static int rkmpp_retrieve_frame(AVCodecContext *avctx, AVFrame *frame)
// MPP decoder needs to be closed only when all frames have been released.
framecontext = (RKMPPFrameContext *)framecontextref->data;
framecontext->decoder_ref = av_buffer_ref(rk_context->decoder_ref);
+ if (!framecontext->decoder_ref) {
+ ret = AVERROR(ENOMEM);
+ goto fail;
+ }
framecontext->frame = mppframe;
frame->data[0] = (uint8_t *)desc;