diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2017-09-21 19:03:06 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-09-26 12:54:42 -0400 |
commit | f66bc0e0beeff7fa27c29f740d2f314d63b3346d (patch) | |
tree | 9813ee27e35620879f4dda259abded7818c87e47 /cmd/gpt.c | |
parent | 0cc8c3064d4be2f5492f04f9d1eda1ee256ac4e7 (diff) |
GPT: incomplete initialization in allocate_disk_part
memset(newpart, '\0', sizeof(newpart));
only initializes the firest 4 or 8 bytes of *newpart and not the whole
structure disk_part.
We should use sizeof(struct disk_part).
Instead of malloc and memset we can use calloc.
Identified by cppcheck.
Fixes: 09a49930e41 GPT: read partition table from device into a data structure
Reported-by: Coverity (CID: 167228)
Cc: Stefan Roese <sr@denx.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'cmd/gpt.c')
-rw-r--r-- | cmd/gpt.c | 3 |
1 files changed, 1 insertions, 2 deletions
@@ -190,10 +190,9 @@ static void del_gpt_info(void) static struct disk_part *allocate_disk_part(disk_partition_t *info, int partnum) { struct disk_part *newpart; - newpart = malloc(sizeof(*newpart)); + newpart = calloc(1, sizeof(struct disk_part)); if (!newpart) return ERR_PTR(-ENOMEM); - memset(newpart, '\0', sizeof(newpart)); newpart->gpt_part_info.start = info->start; newpart->gpt_part_info.size = info->size; |