From 85c936a6cbdf6e728ef32a1c5fd576411ceca49f Mon Sep 17 00:00:00 2001 From: Balazs Gerofi Date: Thu, 8 Nov 2018 17:01:22 +0900 Subject: [PATCH] mcexec: fix terminating zero after readlink() Change-Id: Icb5432f157ceb2182d93e2d327cfa63ad02a8c0e --- executer/user/mcexec.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/executer/user/mcexec.c b/executer/user/mcexec.c index 49765ff3..14f872aa 100644 --- a/executer/user/mcexec.c +++ b/executer/user/mcexec.c @@ -2827,17 +2827,20 @@ do_generic_syscall( char proc_path[PATH_MAX]; char path[PATH_MAX]; struct stat sb; + int len; sprintf(proc_path, "/proc/self/fd/%d", (int)w->sr.args[0]); /* Get filename */ - if (readlink(proc_path, path, sizeof(path)) < 0) { + if ((len = readlink(proc_path, path, sizeof(path))) < 0) { fprintf(stderr, "%s: error: readlink() failed for %s\n", __FUNCTION__, proc_path); perror(": "); goto out; } + path[len] = 0; + /* Not in /sys? */ if (strncmp(path, "/sys/", 5)) goto out;