From 80a10a3972bea3e13a8134ff992d1bb1063ef6e2 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 1 Jun 2010 13:14:37 +0000 Subject: [PATCH] * fhandler_netdrive.cc (fhandler_netdrive::exists): Always free WNet resource if created. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/fhandler_netdrive.cc | 14 ++++---------- 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 + + * fhandler_netdrive.cc (fhandler_netdrive::exists): Always free WNet + resource if created. + 2010-05-31 Corinna Vinschen * 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 ():