From b407d1e9f8e5cd812a61cfc9318d540606a32ea5 Mon Sep 17 00:00:00 2001 From: Michael Tuexen <tuexen@fh-muenster.de> Date: Fri, 28 Jul 2017 15:58:49 +0200 Subject: [PATCH] Fix https://github.com/nplab/packetdrill/issues/131. --- gtests/net/packetdrill/run_system_call.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gtests/net/packetdrill/run_system_call.c b/gtests/net/packetdrill/run_system_call.c index 2b33cc82..34ec3cb9 100644 --- a/gtests/net/packetdrill/run_system_call.c +++ b/gtests/net/packetdrill/run_system_call.c @@ -1936,9 +1936,16 @@ static int run_syscall_connect(struct state *state, DEBUGP("run_syscall_connect\n"); /* Fill in the live address we want to connect to */ - ip_to_sockaddr(&state->config->live_connect_ip, - state->config->live_connect_port, - live_addr, live_addrlen); + if ((state->socket_under_test != NULL) && + (state->socket_under_test->state == SOCKET_PASSIVE_PACKET_RECEIVED)) { + ip_to_sockaddr(&state->socket_under_test->live.remote.ip, + ntohs(state->socket_under_test->live.remote.port), + live_addr, live_addrlen); + } else { + ip_to_sockaddr(&state->config->live_connect_ip, + state->config->live_connect_port, + live_addr, live_addrlen); + } socket = find_socket_by_script_fd(state, script_fd); assert(socket != NULL); -- GitLab