[FFmpeg-devel] [PATCH] lavu: check for overflow in av_clip_intp2_c

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Fri Jan 15 00:34:33 CET 2016


On 14.01.2016 10:24, Michael Niedermayer wrote:
> On Thu, Jan 14, 2016 at 01:21:38AM +0100, Andreas Cadhalpun wrote:
>> On 13.01.2016 20:06, Michael Niedermayer wrote:
>>> On Wed, Jan 13, 2016 at 12:52:21AM +0100, Andreas Cadhalpun wrote:
>>>> ---
>>>>  libavutil/common.h | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/libavutil/common.h b/libavutil/common.h
>>>> index f3276a2..5ae2847 100644
>>>> --- a/libavutil/common.h
>>>> +++ b/libavutil/common.h
>>>> @@ -211,7 +211,7 @@ static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a)
>>>>   */
>>>>  static av_always_inline av_const int av_clip_intp2_c(int a, int p)
>>>>  {
>>>> -    if ((a + (1 << p)) & ~((2 << p) - 1))
>>>> +    if (a >= INT_MAX - (1 << p) || ((a + (1 << p)) & ~((2 << p) - 1)))
>>>
>>> does this differ in any case from using unsigned for the addition?
>>
>> I don't think so.
>>
>>> if not then using unsigned avoids the additional operations
>>
>> OK, patch doing that attached.
> 
> LGTM

Pushed.

Best regards,
Andreas



More information about the ffmpeg-devel mailing list