Re: [PATCH libdrm 2/2] include: Avoid potentially infinite loop in log2_int().

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 28 Oct 2020 13:06:02 +0300
Paul Gofman <pgofman@xxxxxxxxxxxxxxx> wrote:

> Signed-off-by: Paul Gofman <pgofman@xxxxxxxxxxxxxxx>
> ---
>  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

Attachment: pgpxnzwK1EzMd.pgp
Description: OpenPGP digital signature

_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux