ffmpeg | branch: master | Marvin Scholz <epira...@gmail.com> | Thu Jun 26 23:49:06 2025 +0200| [7d384869751b45d4d057df67dde9050a82590a6e] | committer: Marvin Scholz
avcodec/vvc/refs: remove early return The ret value is checked later on again, so this check is redundant and would cause the frame to not be unrefd on failure as well. So remove this check and add one before av_frame_remove_side_data to ensure it is not called with an invalid frame. Fix CID 1648350 Reviewed-by: Frank Plowman <p...@frankplowman.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=7d384869751b45d4d057df67dde9050a82590a6e --- libavcodec/vvc/refs.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavcodec/vvc/refs.c b/libavcodec/vvc/refs.c index 79967b77d3..1840caa4ec 100644 --- a/libavcodec/vvc/refs.c +++ b/libavcodec/vvc/refs.c @@ -300,16 +300,15 @@ int ff_vvc_output_frame(VVCContext *s, VVCFrameContext *fc, AVFrame *out, const frame->frame->flags |= AV_FRAME_FLAG_CORRUPT; ret = av_frame_ref(out, frame->needs_fg ? frame->frame_grain : frame->frame); - if (ret < 0) - return ret; - if (!(s->avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN)) + if (!ret && !(s->avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN)) av_frame_remove_side_data(out, AV_FRAME_DATA_FILM_GRAIN_PARAMS); if (frame->flags & VVC_FRAME_FLAG_BUMPING) ff_vvc_unref_frame(fc, frame, VVC_FRAME_FLAG_OUTPUT | VVC_FRAME_FLAG_BUMPING); else ff_vvc_unref_frame(fc, frame, VVC_FRAME_FLAG_OUTPUT); + if (ret < 0) return ret; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".