iterate_on_dir() can try to copy too much data from the directory
entry, resulting in a crash.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
return -1;
}
while ((dep = readdir (dir))) {
- len = sizeof(struct dirent);
#ifdef HAVE_RECLEN_DIRENT
- if (len < dep->d_reclen)
- len = dep->d_reclen;
+ len = dep->d_reclen;
if (len > max_len)
len = max_len;
+#else
+ len = sizeof(struct dirent);
#endif
memcpy(de, dep, len);
if ((*func)(dir_name, de, private))