[FFmpeg-devel] [PATCH 2/9] 4xm: prevent overflow during block alignment calculation
Andreas Cadhalpun
andreas.cadhalpun at googlemail.com
Fri Jan 6 22:27:29 EET 2017
On 06.01.2017 20:58, Ronald S. Bultje wrote:
> Hi,
>
> On Fri, Jan 6, 2017 at 2:47 PM, Andreas Cadhalpun <
> andreas.cadhalpun at googlemail.com> wrote:
>
>> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
>> ---
>> libavformat/4xm.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/libavformat/4xm.c b/libavformat/4xm.c
>> index 2758b69d29..45949c4e97 100644
>> --- a/libavformat/4xm.c
>> +++ b/libavformat/4xm.c
>> @@ -187,6 +187,7 @@ static int parse_strk(AVFormatContext *s,
>> st->codecpar->bit_rate = (int64_t)st->codecpar->channels
>> *
>> st->codecpar->sample_rate *
>> st->codecpar->bits_per_coded_
>> sample;
>> + FF_RETURN_ON_OVERFLOW(s, st->codecpar->channels &&
>> st->codecpar->bits_per_coded_sample > INT_MAX / st->codecpar->channels)
>> st->codecpar->block_align = st->codecpar->channels *
>> st->codecpar->bits_per_coded_
>> sample;
>>
>> --
>> 2.11.0
>
>
> To an innocent reader (who doesn't know/care about SIGFPE), this might look
> like channels = 0 is an actual valid decoder condition that is explicitly
> handled here.
Actually this function errors out earlier if channels is zero, so I've removed
this pointless additional check. Updated patch is attached.
Best regards,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-4xm-prevent-overflow-during-block-alignment-calculat.patch
Type: text/x-diff
Size: 1067 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170106/d8de21ae/attachment.patch>
More information about the ffmpeg-devel
mailing list