On 27/06/2025 00:23, Marvin Scholz wrote: > 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 > --- > 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; >
LGTM, thank you. -- Frank
OpenPGP_0x03A84C6A098F2C6B.asc
Description: OpenPGP public key
OpenPGP_signature.asc
Description: OpenPGP digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".