From 50ec40df823038297bbc16329e0a298ccbf6598d Mon Sep 17 00:00:00 2001 From: Michael Tuexen <tuexen@fh-muenster.de> Date: Sun, 8 Oct 2017 11:40:16 +0200 Subject: [PATCH] Fix CID 187215. --- gtests/net/packetdrill/run_system_call.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gtests/net/packetdrill/run_system_call.c b/gtests/net/packetdrill/run_system_call.c index 3d3db7e9..51387586 100644 --- a/gtests/net/packetdrill/run_system_call.c +++ b/gtests/net/packetdrill/run_system_call.c @@ -2047,8 +2047,10 @@ static int syscall_socket(struct state *state, struct syscall_spec *syscall, result = socket(domain, type, protocol); - if (end_syscall(state, syscall, CHECK_FD, result, error)) + if (end_syscall(state, syscall, CHECK_FD, result, error)) { + close(result); return STATUS_ERR; + } if (result >= 0) { const int off = 0; @@ -2059,13 +2061,17 @@ static int syscall_socket(struct state *state, struct syscall_spec *syscall, state->config->wire_protocol == AF_INET) { if (setsockopt(live_fd, IPPROTO_IPV6, IPV6_V6ONLY, &off, sizeof(int)) < 0) { die_perror("setsockopt IPV6_V6ONLY"); - }; + } } - if (get_s32(syscall->result, &script_fd, error)) + if (get_s32(syscall->result, &script_fd, error)) { + close(live_fd); return STATUS_ERR; + } if (run_syscall_socket(state, domain, protocol, - script_fd, live_fd, error)) + script_fd, live_fd, error)) { + close(live_fd); return STATUS_ERR; + } } return STATUS_OK; -- GitLab