[U-Boot] [PATCH] cmd/gpt.c: Fix warning over memset args in allocate_disk_part

Tom Rini trini at konsulko.com
Fri Sep 15 12:02:22 UTC 2017


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.

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