]> git.meshlink.io Git - meshlink/commitdiff
Clean up resources in the test cases.
authorGuus Sliepen <guus@meshlink.io>
Fri, 4 Oct 2019 19:10:10 +0000 (21:10 +0200)
committerGuus Sliepen <guus@meshlink.io>
Fri, 4 Oct 2019 19:10:10 +0000 (21:10 +0200)
Not doing so prevents tools such as AddressSanitizer and Valgrind from
declaring the tests free of memory leaks.

test/channels-cornercases.c
test/channels-udp.c
test/invite-join.c
test/trio.c
test/trio2.c
test/utils.c

index d7ef274ce9984c3c0496596222120b3e4e0d334b..f2a01ba0b801aece4cafcee99b605f7e3c506d88 100644 (file)
@@ -123,6 +123,7 @@ int main() {
        assert(wait_sync_flag(&channel_opened, 20));
 
        // Re-initialize everything
+       meshlink_channel_close(a, channel);
        close_meshlink_pair(a, b, "channels-cornercases");
        b_responded = false;
        b_closed = false;
@@ -172,5 +173,9 @@ int main() {
 
        assert(0 == a_poll_cb_len);
 
+       meshlink_channel_close(a, channel);
+       meshlink_channel_close(a, channel2);
+       close_meshlink_pair(a, b, "channels-cornercases");
+
        return 0;
 }
index 8b9e163fe2ab7ddf016e75e613a312c8b1bb9115..383c824edf064ce9fa7ec6ade2990fbe1554efd0 100644 (file)
@@ -155,6 +155,7 @@ int main() {
        // Stream packets from server to clients for 5 seconds at 40 Mbps (1 kB * 500 Hz)
 
        char data[1000];
+       memset(data, 'U', sizeof(data));
 
        for(int j = 0; j < 2500; j++) {
                for(int i = 0; i < 3; i++) {
index f76dc536fffeb57da76f7e69400ebec5924c8ba0..dbf55a22f06018dd97cf2b316bb178da9560a8ae 100644 (file)
@@ -219,6 +219,7 @@ int main() {
        // The invitation should work
 
        assert(meshlink_join(mesh3, quux_url));
+       free(quux_url);
 
        // Clean up.
 
index 1dc33aa4480756f229c5fb275896e22c2ec4d9ff..41aa4fb6215795ae736a41e745414bcfe89dc5f2 100644 (file)
@@ -1,6 +1,7 @@
 #define _GNU_SOURCE
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include <errno.h>
@@ -52,14 +53,12 @@ int main() {
        char *data[3];
 
        for(int i = 0; i < 3; i++) {
-               char *path;
-               int ret_val;
-               (void)ret_val;
-               ret_val = asprintf(&path, "trio_conf.%d", i);
-               assert(path);
+               char *path = NULL;
+               assert(asprintf(&path, "trio_conf.%d", i) != -1 && path);
 
                mesh[i] = meshlink_open(path, name[i], "trio", DEV_CLASS_BACKBONE);
                assert(mesh[i]);
+               free(path);
 
                meshlink_add_address(mesh[i], "localhost");
 
@@ -104,6 +103,7 @@ int main() {
        devtool_edge_t *edges = NULL;
        size_t nedges = 0;
        assert_after((edges = devtool_get_all_edges(mesh[1], edges, &nedges), nedges == 3), 15);
+       free(edges);
 
        // Stop the first node
 
index 299a5582949b18ba28818e336d46bf19982764ae..b55fde7348fbe5a256114996ccb30b17c00d8d77 100644 (file)
@@ -1,6 +1,7 @@
 #define _GNU_SOURCE
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
 #include <errno.h>
@@ -52,14 +53,12 @@ int main() {
        char *data[3];
 
        for(int i = 0; i < 3; i++) {
-               char *path;
-               int ret_val;
-               (void)ret_val;
-               ret_val = asprintf(&path, "trio2_conf.%d", i);
-               assert(path);
+               char *path = NULL;
+               assert(asprintf(&path, "trio2_conf.%d", i) != -1 && path);
 
                mesh[i] = meshlink_open(path, name[i], "trio2", DEV_CLASS_BACKBONE);
                assert(mesh[i]);
+               free(path);
 
                meshlink_add_address(mesh[i], "localhost");
 
@@ -101,6 +100,7 @@ int main() {
        devtool_edge_t *edges = NULL;
        size_t nedges = 0;
        assert_after((edges = devtool_get_all_edges(mesh[1], edges, &nedges), nedges == 3), 15);
+       free(edges);
 
        // Stop the nodes nodes
 
index 21d3b149fa06bee7a98d8f02e16be637b4d9fa93..46e147a57f63df606f953d93bf3cb3d80b47155e 100644 (file)
@@ -79,6 +79,9 @@ void open_meshlink_pair(meshlink_handle_t **pa, meshlink_handle_t **pb, const ch
        meshlink_handle_t *b = meshlink_open(b_name, "b", prefix, DEV_CLASS_BACKBONE);
        assert(b);
 
+       free(a_name);
+       free(b_name);
+
        meshlink_enable_discovery(a, false);
        meshlink_enable_discovery(b, false);
 
@@ -131,5 +134,8 @@ void close_meshlink_pair(meshlink_handle_t *a, meshlink_handle_t *b, const char
                ret_val = asprintf(&b_name, "%s_conf.2", prefix);
                assert(b_name);
                assert(meshlink_destroy(b_name));
+
+               free(a_name);
+               free(b_name);
        }
 }