summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2019-12-29 10:12:23 -0800
committerGarrett D'Amore <garrett@damore.org>2019-12-29 10:12:23 -0800
commit1a9b1a0ad3e1e98a307c8a99211ebc3a94b4ac3e (patch)
tree247a13ce5bdbbba8bff80954b76057dca8eb4c24 /src
parentaed9697d71798d923443f3fb6297cecf89bc4218 (diff)
downloadnng-1a9b1a0ad3e1e98a307c8a99211ebc3a94b4ac3e.tar.gz
nng-1a9b1a0ad3e1e98a307c8a99211ebc3a94b4ac3e.tar.bz2
nng-1a9b1a0ad3e1e98a307c8a99211ebc3a94b4ac3e.zip
fixes #1065 resolver leaks work structures
This includes changes to support setting the sanitizer *correctly* (the old code CMake stuff didn't quite get it right), and addresses a number of failures in the test code found by the address sanitizer.
Diffstat (limited to 'src')
-rw-r--r--src/platform/posix/posix_resolv_gai.c3
-rw-r--r--src/platform/windows/win_resolv.c3
-rw-r--r--src/protocol/reqrep0/reqrep_test.c4
-rw-r--r--src/supplemental/websocket/websocket_test.c2
4 files changed, 6 insertions, 6 deletions
diff --git a/src/platform/posix/posix_resolv_gai.c b/src/platform/posix/posix_resolv_gai.c
index 9e577403..aa70a916 100644
--- a/src/platform/posix/posix_resolv_gai.c
+++ b/src/platform/posix/posix_resolv_gai.c
@@ -337,9 +337,8 @@ resolv_worker(void *notused)
nni_aio_set_sockaddr(aio, &item->sa);
nni_aio_finish(aio, rv, 0);
-
- NNI_FREE_STRUCT(item);
}
+ NNI_FREE_STRUCT(item);
}
nni_mtx_unlock(&resolv_mtx);
}
diff --git a/src/platform/windows/win_resolv.c b/src/platform/windows/win_resolv.c
index 53a39118..745f03d1 100644
--- a/src/platform/windows/win_resolv.c
+++ b/src/platform/windows/win_resolv.c
@@ -300,9 +300,8 @@ resolv_worker(void *notused)
item->aio = NULL;
nni_aio_finish(aio, rv, 0);
-
- NNI_FREE_STRUCT(item);
}
+ NNI_FREE_STRUCT(item);
}
nni_mtx_unlock(&resolv_mtx);
}
diff --git a/src/protocol/reqrep0/reqrep_test.c b/src/protocol/reqrep0/reqrep_test.c
index 09ba9ba3..b68c08cb 100644
--- a/src/protocol/reqrep0/reqrep_test.c
+++ b/src/protocol/reqrep0/reqrep_test.c
@@ -35,8 +35,10 @@ test_req_rep_identity(void)
TEST_CHECK(p == NNI_PROTO(3u, 1u)); // 49
TEST_CHECK(nng_getopt_string(s, NNG_OPT_PROTONAME, &n) == 0);
TEST_CHECK(strcmp(n, "req") == 0);
+ nng_strfree(n);
TEST_CHECK(nng_getopt_string(s, NNG_OPT_PEERNAME, &n) == 0);
TEST_CHECK(strcmp(n, "rep") == 0);
+ nng_strfree(n);
TEST_CHECK(nng_close(s) == 0);
TEST_CHECK(nng_rep0_open(&s) == 0);
@@ -46,8 +48,10 @@ test_req_rep_identity(void)
TEST_CHECK(p == NNI_PROTO(3u, 0u)); // 48
TEST_CHECK(nng_getopt_string(s, NNG_OPT_PROTONAME, &n) == 0);
TEST_CHECK(strcmp(n, "rep") == 0);
+ nng_strfree(n);
TEST_CHECK(nng_getopt_string(s, NNG_OPT_PEERNAME, &n) == 0);
TEST_CHECK(strcmp(n, "req") == 0);
+ nng_strfree(n);
TEST_CHECK(nng_close(s) == 0);
}
diff --git a/src/supplemental/websocket/websocket_test.c b/src/supplemental/websocket/websocket_test.c
index 831c6d43..9d99f2c2 100644
--- a/src/supplemental/websocket/websocket_test.c
+++ b/src/supplemental/websocket/websocket_test.c
@@ -337,8 +337,6 @@ test_websocket_fragmentation(void)
nng_stream_listener_set_size(l, NNG_OPT_WS_SENDMAXFRAME, 1000000));
TEST_NNG_PASS(nng_stream_listener_listen(l));
- TEST_NNG_PASS(nng_aio_alloc(&laio, NULL, NULL));
- TEST_NNG_PASS(nng_aio_alloc(&daio, NULL, NULL));
nng_aio_set_timeout(laio, 2000);
nng_aio_set_timeout(daio, 2000);