OSDN Git Service

* dir.cc (opendir): Guarantee release of alloced fhandler structure on error.
authorcgf <cgf>
Sun, 6 Jan 2002 03:32:31 +0000 (03:32 +0000)
committercgf <cgf>
Sun, 6 Jan 2002 03:32:31 +0000 (03:32 +0000)
winsup/cygwin/ChangeLog
winsup/cygwin/dir.cc

index 1c7b8ef..868bc89 100644 (file)
@@ -1,8 +1,13 @@
-2001-01-05  Corinna Vinschen  <corinna@vinschen.de>
+2002-01-05  Christopher Faylor  <cgf@redhat.com>
 
-       exceptions.cc (sig_handle): Set default action for SIGURG to SIG_IGN.
+       * dir.cc (opendir): Guarantee release of alloced fhandler structure on
+       error.
 
-2001-01-05  Corinna Vinschen  <corinna@vinschen.de>
+2002-01-05  Corinna Vinschen  <corinna@vinschen.de>
+
+       * exceptions.cc (sig_handle): Set default action for SIGURG to SIG_IGN.
+
+2002-01-05  Corinna Vinschen  <corinna@vinschen.de>
 
        * dtable.cc (dtable::init_std_file_from_handle): Don't treat NULL
        handle as errorneous.
@@ -15,7 +20,7 @@
 
        * dir.cc (opendir): Don't attempt to call sub-opendir if ENOENT.
 
-2001-01-04  Corinna Vinschen  <corinna@vinschen.de>
+2002-01-04  Corinna Vinschen  <corinna@vinschen.de>
 
        * net.cc: Replace usage of AF_UNIX by Posix compliant AF_LOCAL
        throughout.
index 44db5d7..40411b4 100644 (file)
@@ -88,14 +88,16 @@ opendir (const char *name)
                                                PC_SYM_FOLLOW | PC_FULL, NULL);
   if (!fh)
     res = NULL;
-  else if (!pc.exists ())
-    set_errno (ENOENT);
+  else if (pc.exists ())
+      res = fh->opendir (pc);
   else
     {
-      res = fh->opendir (pc);
-      if (!res)
-       delete fh;
+      set_errno (ENOENT);
+      res = NULL;
     }
+
+  if (!res && fh)
+    delete fh;
   return res;
 }