[FFmpeg-devel] [PATCH 2/2] avcodec/sbrdsp_fixed: Fix integer overflow

James Almer jamrial at gmail.com
Fri Nov 24 05:58:45 EET 2017


On 11/22/2017 7:59 PM, Hendrik Leppkes wrote:
> On Wed, Nov 22, 2017 at 11:38 PM, Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
>> 2017-11-22 21:00 GMT+01:00 Michael Niedermayer <michael at niedermayer.cc>:
>>
>>> diff --git a/libavcodec/sbrdsp_fixed.c b/libavcodec/sbrdsp_fixed.c
>>> index a0ef6859f1..0db932a105 100644
>>> --- a/libavcodec/sbrdsp_fixed.c
>>> +++ b/libavcodec/sbrdsp_fixed.c
>>> @@ -133,7 +133,7 @@ static av_always_inline SoftFloat autocorr_calc(int64_t accu)
>>>
>>>          round = 1U << (nz-1);
>>>          mant = (int)((accu + round) >> nz);
>>> -        mant = (mant + 0x40)>>7;
>>> +        mant = (mant + 0x40ll)>>7;
>>
>> LL?
>>
> 
> More correctly, shouldnt this use one of those fancy integer constant
> macros, like INT64_C(0x40)? (I don't actually know if those are
> supposed to work with hex constants, but the fact that they exist
> seems to indicate that LL is not entirely portable)
> 
> - Hendrik

LL/ULL are used plenty of times in the tree, so it's portable enough.
What i remember not working at least on old msvc was LLU.


More information about the ffmpeg-devel mailing list