diff options
| author | 2020-02-03 14:07:47 +0100 | |
|---|---|---|
| committer | 2020-02-03 14:07:47 +0100 | |
| commit | a7182e09e90bcd37cca9f56639f604a809ab4c1d (patch) | |
| tree | 2e75562f35a2a438fd146e21d6f9faac1e59a36d | |
| parent | qsize: solve theoretical key conflict for dev/inode (diff) | |
| download | portage-utils-a7182e09e90bcd37cca9f56639f604a809ab4c1d.tar.gz portage-utils-a7182e09e90bcd37cca9f56639f604a809ab4c1d.tar.bz2 portage-utils-a7182e09e90bcd37cca9f56639f604a809ab4c1d.zip | |
libq/tree: ensure meta fields are clear when not set
For some reason we went with uncleared pointers. Probably because we
only requested things that should/would exist. However, for sanity, and
probably bug #701470, return NULL pointers for anything not set (in
metadata).
Bug: https://bugs.gentoo.org/show_bug.cgi?id=701470
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
| -rw-r--r-- | libq/tree.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libq/tree.c b/libq/tree.c index 9df35411..8424459c 100644 --- a/libq/tree.c +++ b/libq/tree.c @@ -621,7 +621,7 @@ tree_read_file_pms(tree_pkg_ctx *pkg_ctx) goto err; len = sizeof(*ret) + s.st_size + 1; - ret = xmalloc(len); + ret = xzalloc(len); ptr = (char*)ret + sizeof(*ret); if ((off_t)fread(ptr, 1, s.st_size, f) != s.st_size) goto err; @@ -689,7 +689,7 @@ tree_read_file_md5(tree_pkg_ctx *pkg_ctx) goto err; len = sizeof(*ret) + s.st_size + 1; - ret = xmalloc(len); + ret = xzalloc(len); ptr = (char*)ret + sizeof(*ret); if ((off_t)fread(ptr, 1, s.st_size, f) != s.st_size) goto err; @@ -802,7 +802,7 @@ tree_read_file_ebuild(tree_pkg_ctx *pkg_ctx) goto err; len = sizeof(*ret) + s.st_size + 1; - ret = xmalloc(len); + ret = xzalloc(len); p = (char *)ret + sizeof(*ret); if ((off_t)fread(p, 1, s.st_size, f) != s.st_size) goto err; |
