[PATCH libdrm] xf86drm.c: Use integer logarithm.

Michel Dänzer michel at daenzer.net
Wed Oct 28 10:30:35 UTC 2020


On 2020-10-28 11:09 a.m., Paul Gofman wrote:
> On 10/28/20 11:18, Pekka Paalanen wrote:
>>
>>>   
>>> +static unsigned log2_int(unsigned x)
>>> +{
>>> +    unsigned l;
>>> +
>>> +    if (x < 2) {
>>> +        return 0;
>>> +    }
>>> +    for (l = 2; ; l++) {
>>> +        if ((unsigned)(1 << l) > x) {
>> Hi,
>>
>> wouldn't this loop fail to end when x >= 0x80000000?
>>
>> Sure, such value probably cannot occur where this is currently used,
>> but it seems like a landmine for the next developer to step on.
>>
> Indeed, thanks. I've sent the patches for consideration which avoid
> function duplication and potentially infinite loop.

libdrm uses GitLab merge requests now: 
https://gitlab.freedesktop.org/mesa/drm/-/merge_requests


-- 
Earthling Michel Dänzer               |               https://redhat.com
Libre software enthusiast             |             Mesa and X developer


More information about the dri-devel mailing list