aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2020-02-03 14:07:47 +0100
committerFabian Groffen <grobian@gentoo.org>2020-02-03 14:07:47 +0100
commita7182e09e90bcd37cca9f56639f604a809ab4c1d (patch)
tree2e75562f35a2a438fd146e21d6f9faac1e59a36d
parentqsize: solve theoretical key conflict for dev/inode (diff)
downloadportage-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.c6
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;