Correct handling of zero address and zero address length in accept.
Modified: trunk/reactos/lib/msafd/misc/dllmain.c

Modified: trunk/reactos/lib/msafd/misc/dllmain.c
--- trunk/reactos/lib/msafd/misc/dllmain.c	2005-01-13 06:46:22 UTC (rev 13021)
+++ trunk/reactos/lib/msafd/misc/dllmain.c	2005-01-13 06:55:44 UTC (rev 13022)
@@ -973,9 +973,14 @@
 	}
 
 	/* Return Address in SOCKADDR FORMAT */
-	RtlCopyMemory (SocketAddress, 
-					&ListenReceiveData->Address.Address[0].AddressType, 
-					sizeof(RemoteAddress));
+        if( SocketAddress ) {
+            RtlCopyMemory (SocketAddress, 
+                           &ListenReceiveData->Address.Address[0].AddressType, 
+                           sizeof(RemoteAddress));
+            if( *SocketAddressLength )
+                *SocketAddressLength = 
+                    ListenReceiveData->Address.Address[0].AddressLength;
+        }
 
 	NtClose( SockEvent );