Francois Gouget : iphlpapi: Fix the IPv4 address network order for comparisons.
Alexandre Julliard
julliard at winehq.org
Wed Feb 16 15:30:25 CST 2022
Module: wine
Branch: master
Commit: ed4a566f12c2f97e45310513690e3cdfda24402e
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ed4a566f12c2f97e45310513690e3cdfda24402e
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Wed Feb 16 13:05:40 2022 +0100
iphlpapi: Fix the IPv4 address network order for comparisons.
ipaddrrow_cmp() and ipforward_row_cmp() must perform byte-swapping in
order for the rows to be sorted as expected.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/iphlpapi/iphlpapi_main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 6fe0cbc58f4..041e712f44f 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -1928,7 +1928,7 @@ done:
static int ipaddrrow_cmp( const void *a, const void *b )
{
const MIB_IPADDRROW *rowA = a, *rowB = b;
- return DWORD_cmp(rowA->dwAddr, rowB->dwAddr);
+ return DWORD_cmp(RtlUlongByteSwap( rowA->dwAddr ), RtlUlongByteSwap( rowB->dwAddr ));
}
/******************************************************************
@@ -2034,10 +2034,10 @@ DWORD WINAPI AllocateAndGetIpAddrTableFromStack( MIB_IPADDRTABLE **table, BOOL s
static int ipforward_row_cmp( const void *a, const void *b )
{
const MIB_IPFORWARDROW *rowA = a, *rowB = b;
- return DWORD_cmp(rowA->dwForwardDest, rowB->dwForwardDest) ||
+ return DWORD_cmp(RtlUlongByteSwap( rowA->dwForwardDest ), RtlUlongByteSwap( rowB->dwForwardDest )) ||
DWORD_cmp(rowA->dwForwardProto, rowB->dwForwardProto) ||
DWORD_cmp(rowA->dwForwardPolicy, rowB->dwForwardPolicy) ||
- DWORD_cmp(rowA->dwForwardNextHop, rowB->dwForwardNextHop);
+ DWORD_cmp(RtlUlongByteSwap( rowA->dwForwardNextHop ), RtlUlongByteSwap( rowB->dwForwardNextHop ));
}
/******************************************************************
More information about the wine-cvs
mailing list