From 81435af3be9de47fd74dff0c5e0a6add7c66ae9b Mon Sep 17 00:00:00 2001 From: Ruediger Meier Date: Tue, 27 Jun 2017 20:33:18 +0200 Subject: lsmem: fix, using freed memory Simply avoiding strdup(). Error handling improved. This was the Clang Analyzer warning: Memory Error, Use-after-free sys-utils/lsmem.c:259:3: warning: Use of memory after it is freed err(EXIT_FAILURE, _("Failed to open %s"), path); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ruediger Meier --- sys-utils/lscpu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'sys-utils/lscpu.c') diff --git a/sys-utils/lscpu.c b/sys-utils/lscpu.c index f6e47277e..83f3a7d27 100644 --- a/sys-utils/lscpu.c +++ b/sys-utils/lscpu.c @@ -1430,12 +1430,12 @@ read_nodes(struct lscpu_desc *desc) int i = 0; DIR *dir; struct dirent *d; - char *path; + const char *path; /* number of NUMA node */ - path = path_strdup(_PATH_SYS_NODE); + if (!(path = path_get(_PATH_SYS_NODE))) + return; dir = opendir(path); - free(path); while (dir && (d = readdir(dir))) { if (is_node_dirent(d)) -- cgit v1.2.3-55-g7522