[FFmpeg-devel] [RFC] Channels

Anton Khirnov anton at khirnov.net
Fri Mar 22 12:29:31 EET 2024


Quoting Michael Niedermayer (2024-03-22 03:25:25)
> Hi all
> 
> we have code like
> st->codecpar->ch_layout.nb_channels = avio_rb32(pb);
> 
> and then somewhere there is some code that uses this by first allocating
> an array and that then hits OOM
> (it was this here:
>     map = av_calloc(nb_channels, sizeof(*channel_layout->u.map));)
> 
> is anyone against adding a max_channels field to AVFormatContext  or something
> like that ?

I am.

> alternative is "wont fix" for all such cases,

IMO it's not, in general, a bug, so EWONTFIX is the appropriate
response. If the user does not want us to do arbitrarily large
allocation, they have the appropriate OS-level mechanisms (e.g. ulimit,
cgroups on Linux) or av_max_alloc().

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list