Re: [PATCH] SUNRPC: Prevent kernel stack corruption on long valuesof flush

From: Jim Rees
Date: Wed Jul 18 2012 - 16:55:32 EST


Dave Jones wrote:

On Wed, Jul 18, 2012 at 04:00:49PM -0400, Jim Rees wrote:

> You could use something like:
>
> char tbuf[sizeof (unsigned long) * 24 / 10 + 1 + 2]; /* + 2 for final "\n\0" */
>
> since there are roughly 10 bits for every 3 decimal digits.
>
> But I'm obviously confused, because I don't understand why tbuf needs to be
> any more than 10 + 2.

Unsigned long isn't necessarily 32 bits.
On 64-bit systems %lu can be up to 18446744073709551615

Thanks. You caught me thinking "Intel." How embarrassing.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/