[U-Boot] [PATCH] cmd/gpt.c: Fix warning over memset args in allocate_disk_part
Alison Chaiken
alison at peloton-tech.com
Sun Sep 17 01:42:55 UTC 2017
On Fri, Sep 15, 2017 at 5:02 AM, Tom Rini <trini at konsulko.com> wrote:
> With clang-3.8 we see:
> cmd/gpt.c:196:31: warning: 'memset' call operates on objects
> of type 'struct disk_part' while the size is based on a different
> type
> 'struct disk_part *' [-Wsizeof-pointer-memaccess]
> memset(newpart, '\0', sizeof(newpart));
> ~~~~~~~ ^~~~~~~
> cmd/gpt.c:196:31: note: did you mean to dereference the
> argument to 'sizeof' (and multiply it by the number of elements)?
> memset(newpart, '\0', sizeof(newpart));
> ^~~~~~~
>
> As we should have been passing sizeof(*newpart) not sizeof(newpart)
> here.
>
>
Agreed. I'm happy to have now read how u-boot can be compiled with clang.
-- Alison
> Cc: Lothar Waßmann <LW at karo-electronics.de>
> Cc: Alison Chaiken <alison at peloton-tech.com>
> Fixes: 09a49930e415 ("GPT: read partition table from device into a data
> structure")
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
> cmd/gpt.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/cmd/gpt.c b/cmd/gpt.c
> index 638aa198267b..701a1c1d6cd1 100644
> --- a/cmd/gpt.c
> +++ b/cmd/gpt.c
> @@ -193,7 +193,7 @@ static struct disk_part *allocate_disk_part(disk_partition_t
> *info, int partnum)
> newpart = malloc(sizeof(*newpart));
> if (!newpart)
> return ERR_PTR(-ENOMEM);
> - memset(newpart, '\0', sizeof(newpart));
> + memset(newpart, '\0', sizeof(*newpart));
>
> newpart->gpt_part_info.start = info->start;
> newpart->gpt_part_info.size = info->size;
> --
> 1.9.1
>
>
More information about the U-Boot
mailing list