summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2022-04-24 19:00:15 -0400
committerJakob Kaivo <jkk@ung.org>2022-04-24 19:00:15 -0400
commitfe5a8e3ec4c30f828d2d784d2673049304a909f3 (patch)
treece0092e973980b3f7d5a43bdc5cadc911f11b9e8
parentabd037c8b62741b36db153a2c5df5f215eaaa223 (diff)
null terminate symlink destinations
-rw-r--r--ls.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ls.c b/ls.c
index 9ed6673..03aec00 100644
--- a/ls.c
+++ b/ls.c
@@ -203,8 +203,10 @@ static int ls_dir(const char *dir, int showdirname)
} else {
blocks += files[nfiles].st.st_blocks;
if (S_ISLNK(files[nfiles].st.st_mode)) {
- readlinkat(dfd, de->d_name, files[nfiles].link,
+ size_t n = readlinkat(dfd, de->d_name,
+ files[nfiles].link,
sizeof(files[nfiles].link));
+ files[nfiles].link[n] = '\0';
fstatat(dfd, de->d_name, &files[nfiles].lstat, 0);
}
nfiles++;