+ /* Setup the peer address field */
+ connection->m_peer = GAddress_new();
+ if (!connection->m_peer)
+ {
+ GSocket_destroy(connection);
+ sck->m_error = GSOCK_MEMERR;
+ return NULL;
+ }
+ err = _GAddress_translate_from(connection->m_peer, &from, fromlen);
+ if (err != GSOCK_NOERROR)
+ {
+ GAddress_destroy(connection->m_peer);
+ GSocket_destroy(connection);
+ sck->m_error = err;
+ return NULL;
+ }
+