diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index c47b9e492..0abec830e 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2011-10-10 Corinna Vinschen + + * fhandler.h (fhandler_process::closedir): Declare. + * fhandler_process.cc (fhandler_process::closedir): New function to + avoid a SEGV in fhandler_proc::closedir. + 2011-10-10 Christopher Faylor * fhandler_tty.cc (fhandler_pty_slave::open): Clarify debugging output. diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index be6e012b0..cc391ae78 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -1531,6 +1531,7 @@ class fhandler_process: public fhandler_proc fhandler_process (); virtual_ftype_t exists(); DIR *opendir (int fd) __attribute__ ((regparm (2))); + int closedir (DIR *); int readdir (DIR *, dirent *) __attribute__ ((regparm (3))); int open (int flags, mode_t mode = 0); int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2))); diff --git a/winsup/cygwin/fhandler_process.cc b/winsup/cygwin/fhandler_process.cc index 91e2286d0..128b35aa4 100644 --- a/winsup/cygwin/fhandler_process.cc +++ b/winsup/cygwin/fhandler_process.cc @@ -209,6 +209,12 @@ fhandler_process::opendir (int fd) return dir; } +int +fhandler_process::closedir (DIR *dir) +{ + return fhandler_virtual::closedir (dir); +} + int fhandler_process::readdir (DIR *dir, dirent *de) {