Re: [PATCH] x86/lib: Fix overflow of variable m when val >= 1410065408

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

 



On 11/1/23 08:32, Colin Ian King wrote:
...
>  int num_digits(int val)
>  {
> -	int m = 10;
> +	long m = 10;
>  	int d = 1;
>  
>  	if (val < 0) {

Isn't this still broken on 32-bit where sizeof(long) == sizeof(int)?
Seems like we need 'm' to be able to hold values that are ~10x larger
than 'val' if we need this to work for the entire int range.

Also, performance doesn't matter here at *all* with the current use in
a couple of printk()'s.  Just making 'm' 'long long' or u64 probably be
just fine.




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux