Message ID | CA+F=P4jBUBywK-XkknshVRZphP1XWGC5axivdgS-=xcySHr3yQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel] libavformat/riffec: Zero-initialize `channels` in `ff_get_wav_header` | expand |
Context | Check | Description |
---|---|---|
andriy/configure_x86 | warning | Failed to apply patch |
Pinging on this! On Fri, Sep 9, 2022 at 3:50 PM Will Cassella <cassew@chromium.org> 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@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) { > -- > 2.37.2.789.g6183377224-goog
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@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.
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;
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@google.com> --- libavformat/riffdec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) if (size < 14) {