summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_netdrive.cc14
2 files changed, 9 insertions, 10 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 66e91c48e..c0b4bf9be 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-01 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_netdrive.cc (fhandler_netdrive::exists): Always free WNet
+ resource if created.
+
2010-05-31 Corinna Vinschen <corinna@vinschen.de>
* cygheap.cc (cygheap_user::set_name): Allow to change the user name
diff --git a/winsup/cygwin/fhandler_netdrive.cc b/winsup/cygwin/fhandler_netdrive.cc
index 3de2278ef..4cce69753 100644
--- a/winsup/cygwin/fhandler_netdrive.cc
+++ b/winsup/cygwin/fhandler_netdrive.cc
@@ -1,6 +1,6 @@
/* fhandler_netdrive.cc: fhandler for // and //MACHINE handling
- Copyright 2005, 2006, 2007, 2008 Red Hat, Inc.
+ Copyright 2005, 2006, 2007, 2008, 2009, 2010 Red Hat, Inc.
This file is part of Cygwin.
@@ -164,15 +164,9 @@ fhandler_netdrive::exists ()
nr.lpRemoteName = namebuf;
DWORD ret = create_thread_and_wait (GET_RESOURCE_OPENENUM,
&nr, &nh, 0, "WNetOpenEnum");
- if (ret != NO_ERROR)
- {
- if (nh.dom)
- WNetCloseEnum (nh.dom);
- if (nh.net)
- WNetCloseEnum (nh.net);
- return 0;
- }
- return 1;
+ if (nh.dom)
+ WNetCloseEnum (nh.dom);
+ return ret != NO_ERROR ? 0 : 1;
}
fhandler_netdrive::fhandler_netdrive ():