Grazvydas Ignotas notasas@gmail.com writes:
/* check if we still have enough space for the largest possible entry */
if (last_info && io->Information + max_dir_info_size(class) > length)
{
lseek( fd, 0, SEEK_SET ); /* reset pos to first entry */
res = 0;
}
filename = read_first_dent_name( swap_to, fd, next_pos, second_entry_pos,
&de_first_two, buffer, size );
if (filename != NULL && (!strcmp( filename, "." ) || !strcmp( filename, ".." )))
filename = read_first_dent_name( swap_to ^ 1, fd, next_pos, second_entry_pos,
&de_first_two, buffer, size );
"buffer" is the user's buffer, you can't read into that.