diff options
author | Jakob Kaivo <jkk@ung.org> | 2022-04-24 19:00:15 -0400 |
---|---|---|
committer | Jakob Kaivo <jkk@ung.org> | 2022-04-24 19:00:15 -0400 |
commit | fe5a8e3ec4c30f828d2d784d2673049304a909f3 (patch) | |
tree | ce0092e973980b3f7d5a43bdc5cadc911f11b9e8 | |
parent | abd037c8b62741b36db153a2c5df5f215eaaa223 (diff) |
null terminate symlink destinations
-rw-r--r-- | ls.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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++; |