Re: [PATCH] ARM: Wrong size used in dump_mem()

From: Russell King - ARM Linux
Date: Thu Dec 17 2009 - 16:18:30 EST


On Thu, Dec 17, 2009 at 10:15:58PM +0100, Roel Kluin wrote:
> The sizeof the pointed to should be used rather than of the pointer
>
> Signed-off-by: Roel Kluin <roel.kluin@xxxxxxxxx>
> ---
> Unless I am mistaken?

You are mistaken. sizeof(array) is the byte size of the array.
sizeof(*array) is the size of one individual object of the array.

The code is correct as is - which is to fill the entire array with
space characters and then zero the last one.

> diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c
> index 3f361a7..5e828fa 100644
> --- a/arch/arm/kernel/traps.c
> +++ b/arch/arm/kernel/traps.c
> @@ -102,7 +102,7 @@ static void dump_mem(const char *lvl, const char *str, unsigned long bottom,
> unsigned long p;
> char str[sizeof(" 12345678") * 8 + 1];
>
> - memset(str, ' ', sizeof(str));
> + memset(str, ' ', sizeof(*str));
> str[sizeof(str) - 1] = '\0';
>
> for (p = first, i = 0; i < 8 && p < top; i++, p += 4) {
--
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/