ls: Always leave room for the NULL byte in the link target
Otherwise, if the length of the link target is the same as BUFSIZ, we will try to write past the end of buf.
This commit is contained in:
2
ls.c
2
ls.c
@@ -300,7 +300,7 @@ output(Entry *ent)
|
||||
printf("%10lu ", (unsigned long)ent->size);
|
||||
printf("%s %s%s", buf, ent->name, indicator(ent->mode));
|
||||
if (S_ISLNK(ent->mode)) {
|
||||
if ((len = readlink(ent->name, buf, sizeof buf)) < 0)
|
||||
if ((len = readlink(ent->name, buf, sizeof buf - 1)) < 0)
|
||||
eprintf("readlink %s:", ent->name);
|
||||
buf[len] = '\0';
|
||||
printf(" -> %s%s", buf, indicator(ent->tmode));
|
||||
|
Reference in New Issue
Block a user