diff options
author | Christopher Faylor <me@cgf.cx> | 2001-12-05 23:05:15 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-12-05 23:05:15 +0000 |
commit | 5a88f2554af5cc87bc9fbb68e2712d8c7a016f4a (patch) | |
tree | 6eb74281fd0dfa0bf8a4a7d1540f2d4dc279db1d /winsup | |
parent | 98a05abd051b2ad32ba227e7b2fa4dfbc733b728 (diff) | |
download | newlib-5a88f2554af5cc87bc9fbb68e2712d8c7a016f4a.zip newlib-5a88f2554af5cc87bc9fbb68e2712d8c7a016f4a.tar.gz newlib-5a88f2554af5cc87bc9fbb68e2712d8c7a016f4a.tar.bz2 |
* dir.cc (opendir): Detect error return from build_fhandler_from_name.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 4 | ||||
-rw-r--r-- | winsup/cygwin/dir.cc | 13 |
2 files changed, 13 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 6484f16..3437a2c 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2001-12-05 Christopher Faylor <cgf@redhat.com> + + * dir.cc (opendir): Detect error return from build_fhandler_from_name. + 2001-12-04 David Rothenberger <daveroth@acm.org> * net.cc (cygwin_getsockopt): Dereference optlen pointer when passing diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc index 07d2ce6..5713c57 100644 --- a/winsup/cygwin/dir.cc +++ b/winsup/cygwin/dir.cc @@ -82,13 +82,18 @@ opendir (const char *name) { fhandler_base *fh; path_conv pc; - DIR *res = NULL; + DIR *res; fh = cygheap->fdtab.build_fhandler_from_name (-1, name, NULL, pc, PC_SYM_FOLLOW | PC_FULL, NULL); - res = fh->opendir (pc); - if (!res) - delete fh; + if (!fh) + res = NULL; + else + { + res = fh->opendir (pc); + if (!res) + delete fh; + } return res; } |