[FFmpeg-devel] [PATCH] libavformat/riffec: Zero-initialize `channels` in `ff_get_wav_header`

James Almer jamrial at gmail.com
Wed Sep 21 01:00:25 EEST 2022


On 9/9/2022 7:50 PM, Will Cassella wrote:
> Clang's static analyzer complains that leaving the `channels` variable
> uninitialized could lead to a code path where the uninitialized value is
> written to `par->ch_layout.nb_channels` at the end of this function.
> This patch simply zero-initializes that variable to avoid that.
> 
> Signed-off-by: Will Cassella <cassew at google.com>
> ---
>   libavformat/riffdec.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavformat/riffdec.c b/libavformat/riffdec.c
> index 3946ecb72f..fc75500d1f 100644
> --- a/libavformat/riffdec.c
> +++ b/libavformat/riffdec.c
> @@ -94,7 +94,7 @@ static void parse_waveformatex(AVFormatContext *s,
> AVIOContext *pb, AVCodecParam
>   int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb,
>                         AVCodecParameters *par, int size, int big_endian)
>   {
> -    int id, channels;
> +    int id, channels = 0;
>       uint64_t bitrate = 0;
> 
>       if (size < 14) {

Applied, thanks.


More information about the ffmpeg-devel mailing list