Posix says that d_name is of unspecified size, and sizeof(d_name)
should not be used. It is indeed only 1-byte long in bits/dirent.h. We
can instead explictly provide the actual allocated size to
__strcpy_chk.
dir->d.d_type = filesystem[dir->idx].type;
- strcpy (dir->d.d_name, filesystem[dir->idx].name);
+ __strcpy_chk (dir->d.d_name, filesystem[dir->idx].name, NAME_MAX);
++dir->idx;
dir->d.d_type = filesystem[dir->idx].type;
- strcpy (dir->d.d_name, filesystem[dir->idx].name);
+ __strcpy_chk (dir->d.d_name, filesystem[dir->idx].name, NAME_MAX);
if (test_verbose > 0)
printf ("info: my_readdir ({ level: %d, idx: %ld })"