[PATCH libdrm 2/2] include: Avoid potentially infinite loop in log2_int().
Pekka Paalanen
ppaalanen at gmail.com
Fri Oct 30 11:07:39 UTC 2020
On Wed, 28 Oct 2020 13:06:02 +0300
Paul Gofman <pgofman at codeweavers.com> wrote:
> Signed-off-by: Paul Gofman <pgofman at codeweavers.com>
> ---
> util_math.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/util_math.h b/util_math.h
> index e2fa95f5..f6bbe192 100644
> --- a/util_math.h
> +++ b/util_math.h
> @@ -38,6 +38,9 @@ static inline unsigned log2_int(unsigned x)
> if (x < 2) {
> return 0;
> }
> + if (x & 0x80000000) {
> + return 31;
> + }
> for (l = 2; ; l++) {
> if ((unsigned)(1 << l) > x) {
> return l - 1;
Hi,
I guess that does it, but it seems quite a lot of code that could be
a two-liner:
http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogObvious
Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20201030/f159721e/attachment.sig>
More information about the dri-devel
mailing list