summaryrefslogtreecommitdiff
path: root/ls.c
diff options
context:
space:
mode:
Diffstat (limited to 'ls.c')
-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++;