* socket-io.c
(ves_icall_System_Net_Sockets_Socket_RecvFrom_internal): Check
returned sockaddr size before creating the remote address object.
Patch by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug
61608.
svn path=/branches/mono-1-0/mono/; revision=31561
+2004-07-28 Dick Porter <dick@ximian.com>
+
+ * socket-io.c
+ (ves_icall_System_Net_Sockets_Socket_RecvFrom_internal): Check
+ returned sockaddr size before creating the remote address object.
+ Patch by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug
+ 61608.
+
2004-07-28 Dick Porter <dick@ximian.com>
* locales.c (string_invariant_compare_char): Fix invariant char
return(0);
}
- *sockaddr=create_object_from_sockaddr(sa, sa_size, error);
+ /* If we didn't get a socket size, then we're probably a
+ * connected connection-oriented socket and the stack hasn't
+ * returned the remote address. All we can do is return null.
+ */
+ if ( sa_size != 0 )
+ *sockaddr=create_object_from_sockaddr(sa, sa_size, error);
+ else
+ *sockaddr=NULL;
+
g_free(sa);
return(ret);