summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/socket/socket.c8
2 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index f55174a7cb..e6682dbab3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Nov 1 13:11:27 2009 wanabe <[email protected]>
+
+ * ext/socket/socket.c (socket_s_ip_address_list): use FreeLibrary() to
+ free HMODULE.
+
Sun Nov 1 08:17:48 2009 Nobuyoshi Nakada <[email protected]>
* gc.c (GET_STACK_BOUNDS): refactored common code. based on a
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index 122ed70561..9328820d07 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -1711,21 +1711,21 @@ socket_s_ip_address_list(VALUE self)
rb_notimplement();
pGetAdaptersAddresses = (GetAdaptersAddresses_t)GetProcAddress(h, "GetAdaptersAddresses");
if (!pGetAdaptersAddresses) {
- CloseHandle(h);
+ FreeLibrary(h);
rb_notimplement();
}
ret = pGetAdaptersAddresses(AF_UNSPEC, 0, NULL, NULL, &len);
if (ret != ERROR_SUCCESS && ret != ERROR_BUFFER_OVERFLOW) {
errno = rb_w32_map_errno(ret);
- CloseHandle(h);
+ FreeLibrary(h);
rb_sys_fail("GetAdaptersAddresses");
}
adapters = (ip_adapter_addresses_t *)ALLOCA_N(BYTE, len);
ret = pGetAdaptersAddresses(AF_UNSPEC, 0, NULL, adapters, &len);
if (ret != ERROR_SUCCESS) {
errno = rb_w32_map_errno(ret);
- CloseHandle(h);
+ FreeLibrary(h);
rb_sys_fail("GetAdaptersAddresses");
}
@@ -1753,7 +1753,7 @@ socket_s_ip_address_list(VALUE self)
}
}
- CloseHandle(h);
+ FreeLibrary(h);
return list;
#endif
}