Check snprintf() return value

This commit is contained in:
sin 2014-01-23 20:05:01 +00:00
parent cc2d762798
commit 3ef662c988
1 changed files with 6 additions and 4 deletions

10
du.c
View File

@ -137,11 +137,13 @@ du(const char *path)
m = nblks(&st);
n += m;
if (aflag && !sflag) {
if (S_ISLNK(st.st_mode))
snprintf(file, sizeof(file), "%s/%s",
cwd, dent->d_name);
else
if (S_ISLNK(st.st_mode)) {
if (snprintf(file, sizeof(file), "%s/%s",
cwd, dent->d_name) >= sizeof(file))
enprintf(EXIT_FAILURE, "path too long\n");
} else {
realpath(dent->d_name, file);
}
print(m, file);
}
}