From: Lennart Poettering Date: Mon, 10 Jul 2017 19:36:59 +0000 (+0200) Subject: mount: fix potential bad memory access when /proc/self/mountinfo is empty X-Git-Tag: v234~13^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=290843c3852c5d2fda6bef8f3214b23c7d6120ab;p=thirdparty%2Fsystemd.git mount: fix potential bad memory access when /proc/self/mountinfo is empty It's unlikely this can ever be triggered, but let's be safe rather than sorry, and handle the case where the list of mount points is zero, and the "l" array thus NULL. let's ensure we allocate at least one entry. --- diff --git a/src/mount/mount-tool.c b/src/mount/mount-tool.c index 0ab06ac3b9d..9d56b407000 100644 --- a/src/mount/mount-tool.c +++ b/src/mount/mount-tool.c @@ -736,13 +736,13 @@ static int find_mount_points(const char *what, char ***list) { if (!GREEDY_REALLOC(l, bufsize, n + 2)) return log_oom(); - l[n] = strdup(where); - if (!l[n]) - return log_oom(); - - n++; + l[n++] = where; + where = NULL; } + if (!GREEDY_REALLOC(l, bufsize, n + 1)) + return log_oom(); + l[n] = NULL; *list = l; l = NULL; /* avoid freeing */