diff --git a/src/remote/inet.cpp b/src/remote/inet.cpp index bc4ca66ca3..b07c40f842 100644 --- a/src/remote/inet.cpp +++ b/src/remote/inet.cpp @@ -1572,9 +1572,7 @@ static rem_port* aux_request( rem_port* port, PACKET* packet) (UCHAR*) &address.sin_addr, sizeof(address.sin_addr)); - response->p_resp_data.cstr_address = - reinterpret_cast(& response->p_resp_blob_id); - response->p_resp_data.cstr_length = sizeof(response->p_resp_blob_id); + response->p_resp_data.cstr_length = sizeof(address); inet_copy(&address, response->p_resp_data.cstr_address, response->p_resp_data.cstr_length); diff --git a/src/remote/server.cpp b/src/remote/server.cpp index 1561f8ce57..1ba5fb5e9b 100644 --- a/src/remote/server.cpp +++ b/src/remote/server.cpp @@ -1124,6 +1124,11 @@ static void aux_request( rem_port* port, P_REQ * request, PACKET* send) port->port_status_vector = status_vector; success(status_vector); + // This buffer is used by INET and WNET transports + // to return the server identification string + UCHAR buffer[BUFFER_TINY]; + send->p_resp.p_resp_data.cstr_address = buffer; + rem_port* aux_port = port->request(send); RDB rdb = port->port_context; if (bad_db(status_vector, rdb))