summaryrefslogtreecommitdiff
path: root/libavcodec/videotoolboxenc.c
diff options
context:
space:
mode:
authorThilo Borgmann <thilo.borgmann@mail.de>2022-09-15 20:42:58 +0200
committerThilo Borgmann <thilo.borgmann@mail.de>2022-09-21 13:39:55 +0200
commit2ca2d46f0b1b6ac23dfdb73d67efcadca66384c6 (patch)
tree112eb403ccd8b2576aa4963c3452d316d71b48b0 /libavcodec/videotoolboxenc.c
parent5a7978a694e7cab4684181ca4020caf0ce8cbb06 (diff)
downloadffmpeg-2ca2d46f0b1b6ac23dfdb73d67efcadca66384c6.tar.gz
lavc/videotoolboxenc: Fix crash by uninitialized value
If create_cv_pixel_buffer() fails, pixel_buffer_info might get into CFRelease() containing an arbitrary value.
Diffstat (limited to 'libavcodec/videotoolboxenc.c')
-rw-r--r--libavcodec/videotoolboxenc.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
index bb3065d1d5..dc9e321d3d 100644
--- a/libavcodec/videotoolboxenc.c
+++ b/libavcodec/videotoolboxenc.c
@@ -1440,7 +1440,7 @@ static int vtenc_create_encoder(AVCodecContext *avctx,
static int vtenc_configure_encoder(AVCodecContext *avctx)
{
CFMutableDictionaryRef enc_info;
- CFMutableDictionaryRef pixel_buffer_info;
+ CFMutableDictionaryRef pixel_buffer_info = NULL;
CMVideoCodecType codec_type;
VTEncContext *vtctx = avctx->priv_data;
CFStringRef profile_level = NULL;
@@ -1517,8 +1517,6 @@ static int vtenc_configure_encoder(AVCodecContext *avctx)
status = create_cv_pixel_buffer_info(avctx, &pixel_buffer_info);
if (status)
goto init_cleanup;
- } else {
- pixel_buffer_info = NULL;
}
vtctx->dts_delta = vtctx->has_b_frames ? -1 : 0;