Gentoo Archives: gentoo-commits

From: Fabian Groffen <grobian@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage-utils:master commit in: libq/
Date: Mon, 03 Feb 2020 13:17:06
Message-Id: 1580735748.38bb361b2a8ed4bcf9b6f9ee3eb48ccd815bb382.grobian@gentoo
1 commit: 38bb361b2a8ed4bcf9b6f9ee3eb48ccd815bb382
2 Author: Fabian Groffen <grobian <AT> gentoo <DOT> org>
3 AuthorDate: Mon Feb 3 13:15:48 2020 +0000
4 Commit: Fabian Groffen <grobian <AT> gentoo <DOT> org>
5 CommitDate: Mon Feb 3 13:15:48 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/portage-utils.git/commit/?id=38bb361b
7
8 libq/tree: be more conservative with mem-clearing
9
10 Previous fix cleared unnecessary amounts of memory (immediately
11 overwritten by fread()), use a memset on the area of memory required.
12
13 Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>
14
15 libq/tree.c | 8 +++++---
16 1 file changed, 5 insertions(+), 3 deletions(-)
17
18 diff --git a/libq/tree.c b/libq/tree.c
19 index 8424459..1c2a54e 100644
20 --- a/libq/tree.c
21 +++ b/libq/tree.c
22 @@ -689,8 +689,9 @@ tree_read_file_md5(tree_pkg_ctx *pkg_ctx)
23 goto err;
24
25 len = sizeof(*ret) + s.st_size + 1;
26 - ret = xzalloc(len);
27 - ptr = (char*)ret + sizeof(*ret);
28 + ret = xmalloc(len);
29 + memset(ret, 0, sizeof(*ret));
30 + ptr = (char *)ret + sizeof(*ret);
31 if ((off_t)fread(ptr, 1, s.st_size, f) != s.st_size)
32 goto err;
33 ptr[s.st_size] = '\0';
34 @@ -802,7 +803,8 @@ tree_read_file_ebuild(tree_pkg_ctx *pkg_ctx)
35 goto err;
36
37 len = sizeof(*ret) + s.st_size + 1;
38 - ret = xzalloc(len);
39 + ret = xmalloc(len);
40 + memset(ret, 0, sizeof(*ret));
41 p = (char *)ret + sizeof(*ret);
42 if ((off_t)fread(p, 1, s.st_size, f) != s.st_size)
43 goto err;