Author: akhaldi
Date: Tue Dec 15 23:11:49 2015
New Revision: 70353
URL: 
http://svn.reactos.org/svn/reactos?rev=70353&view=rev
Log:
[0.4.0] * Merge iphlpapi_apitest:SendARP tests fix by Pierre Schweitzer in r70323.
Modified:
    branches/ros-branch-0_4_0/   (props changed)
    branches/ros-branch-0_4_0/reactos/   (props changed)
    branches/ros-branch-0_4_0/reactos/drivers/network/tcpip/tcpip/dispatch.c
Propchange: branches/ros-branch-0_4_0/
------------------------------------------------------------------------------
--- svn:mergeinfo       (original)
+++ svn:mergeinfo       Tue Dec 15 23:11:49 2015
@@ -1 +1 @@
-/trunk:70000-70321,70324,70335-70337
+/trunk:70000-70321,70323-70324,70335-70337
Propchange: branches/ros-branch-0_4_0/reactos/
------------------------------------------------------------------------------
--- svn:mergeinfo       (original)
+++ svn:mergeinfo       Tue Dec 15 23:11:49 2015
@@ -20,4 +20,4 @@
/branches/usb-bringup:51335,51337,51341-51343,51348,51350,51353,51355,51365-51369,51372,51384-54388,54396-54398,54736-54737,54752-54754,54756-54760,54762,54764-54765,54767-54768,54772,54774-54777,54781,54787,54790-54792,54797-54798,54806,54808,54834-54838,54843,54850,54852,54856,54858-54859
 /branches/usb-bringup-trunk:55019-55543,55548-55554,55556-55567
 /branches/wlan-bringup:54809-54998
-/trunk/reactos:70000-70321,70324,70335-70337
+/trunk/reactos:70000-70321,70323-70324,70335-70337
Modified: branches/ros-branch-0_4_0/reactos/drivers/network/tcpip/tcpip/dispatch.c
URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_0/reactos/driver…
==============================================================================
--- branches/ros-branch-0_4_0/reactos/drivers/network/tcpip/tcpip/dispatch.c
[iso-8859-1] (original)
+++ branches/ros-branch-0_4_0/reactos/drivers/network/tcpip/tcpip/dispatch.c
[iso-8859-1] Tue Dec 15 23:11:49 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;
+            }
         }
     }