From d2f8f2df8b4c5472cece3ad00a6b9d398388b42e Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Tue, 22 Aug 2023 08:57:43 +0200 Subject: [PATCH] lavc video: avoid nullptr dereference When `--param keep-pixfmt` is used but the encoder doesn't produce a packet (AVPacket.size == 0), nullptr dereference can occur. fixes CID 416601 --- src/video_compress/libavcodec.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/video_compress/libavcodec.cpp b/src/video_compress/libavcodec.cpp index 98939816d..751442685 100644 --- a/src/video_compress/libavcodec.cpp +++ b/src/video_compress/libavcodec.cpp @@ -1147,6 +1147,9 @@ static void check_duration(struct state_video_compress_libav *s, time_ns_t dur_p } static void write_orig_format(struct video_frame *compressed_frame, codec_t orig_pixfmt) { + if (compressed_frame == nullptr) { + return; + } if (compressed_frame->color_spec != H264 && compressed_frame->color_spec != H265) { log_msg_once(LOG_LEVEL_ERROR, to_fourcc('L', 'W', 'P', 'T'), MOD_NAME "Currently cannot store input format to different compression stream than H.264/HEVC\n");