lstat64.c was putting an 11-byte string into a 10-byte buffer.
Merge of master-melb:xfs-cmds:32512a by kenmcd.
fix buffer overflow in lstat64.c
main(int argc, char **argv)
{
struct stat64 sbuf;
- char mode[10];
int i, c;
int terse_flag = 0;
time(&timebuf);
for (i = optind; i < argc; i++) {
+ char *mode = "----------";
if( lstat64(argv[i], &sbuf) < 0) {
perror(argv[i]);
printf(" Size: %-10llu", (unsigned long long)sbuf.st_size);
}
- strcpy(mode,"----------");
if (sbuf.st_mode & (S_IEXEC>>6))
mode[9] = 'x';
if (sbuf.st_mode & (S_IWRITE>>6))