diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | ext/socket/socket.c | 8 |
2 files changed, 9 insertions, 4 deletions
@@ -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 } |