diff options
author | Ralf Habacker <ralf.habacker@freenet.de> | 2013-08-08 22:53:40 +0200 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2013-08-09 17:53:22 +0200 |
commit | 9cc21aa0015759a57d921374badf20a6afe80556 (patch) | |
tree | 86432911e1bbb70d78c8f8440be4f65ae5d4ff60 | |
parent | 2fd9e2c2559991295649635969464772bb6fd1e9 (diff) | |
download | dbus-9cc21aa0015759a57d921374badf20a6afe80556.tar.gz |
Refactored get_pid_from_extended_tcp_table() and get_pid_from_tcp_ex_table() to be more equal.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=66060
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
-rw-r--r-- | dbus/dbus-sysdeps-win.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c index 4f0b308d..abc14b1a 100644 --- a/dbus/dbus-sysdeps-win.c +++ b/dbus/dbus-sysdeps-win.c @@ -138,11 +138,10 @@ static BOOL load_ex_ip_helper_procedures(void) dbus_pid_t get_pid_from_extended_tcp_table(int peer_port) { dbus_pid_t result; - DWORD size; + DWORD errorCode, size, i; MIB_TCPTABLE_OWNER_PID *tcp_table; - DWORD i; - if ((result = + if ((errorCode = GetExtendedTcpTable (NULL, &size, TRUE, AF_INET, TCP_TABLE_OWNER_PID_ALL, 0)) == ERROR_INSUFFICIENT_BUFFER) { tcp_table = (MIB_TCPTABLE_OWNER_PID *) dbus_malloc (size); @@ -153,9 +152,9 @@ dbus_pid_t get_pid_from_extended_tcp_table(int peer_port) } } - if ((result = GetExtendedTcpTable (tcp_table, &size, TRUE, AF_INET, TCP_TABLE_OWNER_PID_ALL, 0)) != NO_ERROR) + if ((errorCode = GetExtendedTcpTable (tcp_table, &size, TRUE, AF_INET, TCP_TABLE_OWNER_PID_ALL, 0)) != NO_ERROR) { - _dbus_verbose ("Error fetching tcp table %d\n", (int)result); + _dbus_verbose ("Error fetching tcp table %d\n", (int)errorCode); dbus_free (tcp_table); return 0; } @@ -179,8 +178,8 @@ dbus_pid_t get_pid_from_extended_tcp_table(int peer_port) dbus_pid_t get_pid_from_tcp_ex_table(int peer_port) { dbus_pid_t result; - DWORD errorCode, dwSize; - PMIB_TCPTABLE_EX lpBuffer = NULL; + DWORD errorCode, i; + PMIB_TCPTABLE_EX tcp_table = NULL; if (!load_ex_ip_helper_procedures ()) { @@ -189,7 +188,7 @@ dbus_pid_t get_pid_from_tcp_ex_table(int peer_port) return 0; } - errorCode = lpfnAllocateAndGetTcpExTableFromStack (&lpBuffer, TRUE, GetProcessHeap(), 0, 2); + errorCode = lpfnAllocateAndGetTcpExTableFromStack (&tcp_table, TRUE, GetProcessHeap(), 0, 2); if (errorCode != NO_ERROR) { @@ -197,19 +196,21 @@ dbus_pid_t get_pid_from_tcp_ex_table(int peer_port) ("Error not been able to call AllocateAndGetTcpExTableFromStack()\n"); return 0; } + result = 0; - for (dwSize = 0; dwSize < lpBuffer->dwNumEntries; dwSize++) + for (i = 0; i < tcp_table->dwNumEntries; i++) { - int local_port = ntohs (lpBuffer->table[dwSize].dwLocalPort); - int local_address = ntohl (lpBuffer->table[dwSize].dwLocalAddr); + _MIB_TCPROW_EX *p = &tcp_table->table[i]; + int local_port = ntohs (p->dwLocalPort); + int local_address = ntohl (p->dwLocalAddr); if (local_address == INADDR_LOOPBACK && local_port == peer_port) { - result = lpBuffer->table[dwSize].dwOwningPid; + result = p->dwOwningPid; break; } } - if (lpBuffer) - HeapFree (GetProcessHeap(), 0, lpBuffer); + if (tcp_table) + HeapFree (GetProcessHeap(), 0, tcp_table); _dbus_verbose ("got pid %d\n", (int)result); return result; } |