Author: pschweitzer
Date: Fri Dec 11 22:30:02 2015
New Revision: 70323
URL:
http://svn.reactos.org/svn/reactos?rev=70323&view=rev
Log:
[TCPIP]
Fix the last failing tests of iphlpapi_apitest:SendARP
Modified:
trunk/reactos/drivers/network/tcpip/tcpip/dispatch.c
Modified: trunk/reactos/drivers/network/tcpip/tcpip/dispatch.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/network/tcpip/tcpi…
==============================================================================
--- trunk/reactos/drivers/network/tcpip/tcpip/dispatch.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/network/tcpip/tcpip/dispatch.c [iso-8859-1] Fri Dec 11 22:30:02
2015
@@ -1645,7 +1645,7 @@
PVOID OutputBuffer;
if (NCE->LinkAddressLength >
WorkItem->IrpSp->Parameters.DeviceIoControl.OutputBufferLength) {
- Status = STATUS_INVALID_BUFFER_SIZE;
+ Status = STATUS_INSUFFICIENT_RESOURCES;
} else {
OutputBuffer = Irp->AssociatedIrp.SystemBuffer;
RtlCopyMemory(OutputBuffer, NCE->LinkAddress, NCE->LinkAddressLength);
@@ -1691,13 +1691,8 @@
if (Interface) {
PVOID OutputBuffer;
- if (!AddrIsUnspecified(&Local) && IPs[0] != IPs[1]) {
- Status = STATUS_UNSUCCESSFUL;
- goto Exit;
- }
-
if (Interface->AddressLength >
IrpSp->Parameters.DeviceIoControl.OutputBufferLength) {
- Status = STATUS_INVALID_BUFFER_SIZE;
+ Status = STATUS_INSUFFICIENT_RESOURCES;
goto Exit;
}
@@ -1720,8 +1715,11 @@
else {
Interface = AddrLocateInterface(&Local);
if (Interface == NULL) {
- Status = STATUS_NETWORK_UNREACHABLE;
- goto Exit;
+ Interface = GetDefaultInterface();
+ if (Interface == NULL) {
+ Status = STATUS_NETWORK_UNREACHABLE;
+ goto Exit;
+ }
}
}