inetmib1: Fix the IPv4 address network order for comparisons.

compareUdpRow() was already performing the byte-swaps but
compareIpAddrRow() and compareIpForwardRow() need them too.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Francois Gouget 2022-02-16 13:05:55 +01:00 committed by Alexandre Julliard
parent 85c6caf65b
commit 631fde70b8

View file

@ -778,7 +778,7 @@ static int __cdecl DWORD_cmp(DWORD a, DWORD b)
static int __cdecl compareIpAddrRow(const void *a, const void *b)
{
const MIB_IPADDRROW *rowA = a, *rowB = b;
return DWORD_cmp(rowA->dwAddr, rowB->dwAddr);
return DWORD_cmp(ntohl(rowA->dwAddr), ntohl(rowB->dwAddr));
}
static BOOL mib2IpAddrQuery(BYTE bPduType, SnmpVarBind *pVarBind,
@ -870,7 +870,7 @@ static void oidToIpForwardRow(AsnObjectIdentifier *oid, void *dst)
static int __cdecl compareIpForwardRow(const void *a, const void *b)
{
const MIB_IPFORWARDROW *rowA = a, *rowB = b;
return DWORD_cmp(rowA->dwForwardDest, rowB->dwForwardDest);
return DWORD_cmp(ntohl(rowA->dwForwardDest), ntohl(rowB->dwForwardDest));
}
static BOOL mib2IpRouteQuery(BYTE bPduType, SnmpVarBind *pVarBind,