From 7adf4f380a05dd88a61aadfa9c473473e012bbc1 Mon Sep 17 00:00:00 2001 From: David Galos Date: Tue, 9 Jul 2013 19:40:28 -0400 Subject: [PATCH] Fixing zero-bye append in readlink. Thanks, Willem van de Krol --- readlink.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/readlink.c b/readlink.c index 6df74e9..065c05d 100644 --- a/readlink.c +++ b/readlink.c @@ -20,6 +20,7 @@ main(int argc, char *argv[]) char buf[PATH_MAX]; bool nflag = false; bool fflag = false; + ssize_t n; ARGBEGIN { case 'f': @@ -42,8 +43,9 @@ main(int argc, char *argv[]) if (realpath(argv[0], buf) == NULL) exit(1); } else { - if (readlink(argv[0], buf, sizeof(buf)) < 0) + if ((n = readlink(argv[0], buf, sizeof(buf) - 1)) < 0) exit(1); + buf[n] = '\0'; } printf("%s", buf);