[FFmpeg-devel] [PATCH] avutil/channel_layout: don't error out on truncated strings
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sun Jul 3 10:19:48 EEST 2022
James Almer:
> The doxy for av_channel_layout_describe() states that the user should look
> at the return value to check if the string was truncated. Returning an error
> code in this scenario goes against this and is an API break.
>
> This is a better fix than the one committed in 8154cb7c2f for the timeout
> fuzzing issue.
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> libavutil/channel_layout.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavutil/channel_layout.c b/libavutil/channel_layout.c
> index 1887987789..d54a0adbe1 100644
> --- a/libavutil/channel_layout.c
> +++ b/libavutil/channel_layout.c
> @@ -759,7 +759,7 @@ int av_channel_layout_describe_bprint(const AVChannelLayout *channel_layout,
> av_bprintf(bp, "@%s", channel_layout->u.map[i].name);
>
> if (!av_bprint_is_complete(bp))
> - return AVERROR(ENOMEM);
> + break;
>
> }
> if (channel_layout->nb_channels) {
Isn't this actually still against the API? av_channel_layout_describe()
will not return the correct number of bytes necessary to write the
string for the channel layout.
- Andreas
More information about the ffmpeg-devel
mailing list