--- src/lib/libc/gen/readdir.c 2005/02/08 04:07:57 1.4 +++ src/lib/libc/gen/readdir.c 2005/08/02 16:26:30 1.5 @@ -112,11 +112,11 @@ readdir_r(dirp, entry, result) if (__isthreaded) { _pthread_mutex_lock((pthread_mutex_t *)&dirp->dd_lock); if ((dp = _readdir_unlocked(dirp)) != NULL) - memcpy(entry, dp, sizeof *entry); + memcpy(entry, dp, _GENERIC_DIRSIZ(dp)); _pthread_mutex_unlock((pthread_mutex_t *)&dirp->dd_lock); } else if ((dp = _readdir_unlocked(dirp)) != NULL) - memcpy(entry, dp, sizeof *entry); + memcpy(entry, dp, _GENERIC_DIRSIZ(dp)); if (errno != 0) { if (dp == NULL) {