[FFmpeg-cvslog] Make sure neither data_size nor sample_count is negative
Reimar Döffinger
Reimar.Doeffinger at gmx.de
Wed May 18 07:57:53 CEST 2011
On 17 May 2011, at 22:26, git at videolan.org (Tomas Härdin) wrote:
> ffmpeg | branch: master | Tomas Härdin <tomas.hardin at codemill.se> | Tue May 17 19:52:36 2011 +0200| [3d922c84622e7bf8603390b154630c3d62b93b12] | committer: Michael Niedermayer
>
> Make sure neither data_size nor sample_count is negative
>
>> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3d922c84622e7bf8603390b154630c3d62b93b12
> ---
>
> libavformat/wav.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/libavformat/wav.c b/libavformat/wav.c
> index 1832bc9..6b1e574 100644
> --- a/libavformat/wav.c
> +++ b/libavformat/wav.c
> @@ -238,6 +238,12 @@ static int wav_read_header(AVFormatContext *s,
> avio_rl64(pb); /* RIFF size */
> data_size = avio_rl64(pb);
> sample_count = avio_rl64(pb);
> + if (data_size < 0 || sample_count < 0) {
> + av_log(s, AV_LOG_ERROR, "negative data_size and/or sample_count in "
> + "ds64: data_size = %li, sample_count = %li\n",
> + data_size, sample_count);
> + return AVERROR_INVALIDDATA;
> + }
Completely refusing to play the file seems a bit extreme for stuff that is not really necessary for playback.
More information about the ffmpeg-cvslog
mailing list