[FFmpeg-devel] [PATCH v2] avcodec/vvc/refs: remove early return

Frank Plowman post at frankplowman.com
Sat Jun 28 04:42:34 EEST 2025


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x03A84C6A098F2C6B.asc
Type: application/pgp-keys
Size: 1071 bytes
Desc: OpenPGP public key
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250628/c0504511/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20250628/c0504511/attachment.sig>


More information about the ffmpeg-devel mailing list