# HG changeset patch # User asl # Date 1072001476 0 # Node ID afd0f71095a51b8b7ff17ae06020601f063461cc # Parent e09db684871e8eeaae6dde72fae88e3ee2d53c6f * src/dir.cxx (readdir_r): Handle NULL dirp argument and return EBADF diff --git a/packages/io/fileio/current/ChangeLog b/packages/io/fileio/current/ChangeLog --- a/packages/io/fileio/current/ChangeLog +++ b/packages/io/fileio/current/ChangeLog @@ -1,3 +1,8 @@ +2003-12-21 Sandeep Kumar + + * src/dir.cxx (readdir_r): Handle NULL dirp argument and return + EBADF + 2003-12-03 Dan Jakubiec * src/select.cxx (pselect): Fixed the pselect() call to correctly diff --git a/packages/io/fileio/current/src/dir.cxx b/packages/io/fileio/current/src/dir.cxx --- a/packages/io/fileio/current/src/dir.cxx +++ b/packages/io/fileio/current/src/dir.cxx @@ -180,7 +180,12 @@ extern int readdir_r( DIR *dirp, struct ssize_t res; *result = NULL; - + + if( NULL == dirp ) + { + FILEIO_RETURN_VALUE( EBADF ); + } + res = read( fd, (void *)entry, sizeof(struct dirent)); if( res < 0 )