summaryrefslogtreecommitdiff
path: root/tests/server/sws.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/server/sws.c')
-rw-r--r--tests/server/sws.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/tests/server/sws.c b/tests/server/sws.c
index ee7975b60..6ce0d3b9f 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -1878,7 +1878,7 @@ int main(int argc, char *argv[])
#endif
const char *pidname = ".http.pid";
const char *portname = ".http.port";
- struct httprequest *req;
+ struct httprequest *req = NULL;
int rc = 0;
int error;
int arg = 1;
@@ -1890,10 +1890,6 @@ int main(int argc, char *argv[])
/* a default CONNECT port is basically pointless but still ... */
size_t socket_idx;
- req = calloc(1, sizeof(*req));
- if(!req)
- return 0;
-
while(argc>arg) {
if(!strcmp("--version", argv[arg])) {
puts("sws IPv4"
@@ -2020,6 +2016,10 @@ int main(int argc, char *argv[])
install_signal_handlers(false);
+ req = calloc(1, sizeof(*req));
+ if(!req)
+ goto sws_cleanup;
+
sock = socket(socket_domain, SOCK_STREAM, 0);
all_sockets[0] = sock;
@@ -2349,6 +2349,8 @@ sws_cleanup:
}
#endif
+ free(req);
+
if(got_exit_signal)
logmsg("signalled to die");