]> git.meshlink.io Git - meshlink/blobdiff - src/meshlink.c
Fix a memory leak.
[meshlink] / src / meshlink.c
index 23fe1dc4198335b5d4fe901482f7ecbf638ae09c..f173c8d24e00fa575d562cdcbef1e05026f4eb11 100644 (file)
@@ -44,6 +44,8 @@ typedef struct {
 #define MSG_NOSIGNAL 0
 #endif
 
+__thread meshlink_errno_t meshlink_errno;
+
 //TODO: this can go away completely
 const var_t variables[] = {
        /* Server configuration */
@@ -513,7 +515,7 @@ static bool finalize_join(meshlink_handle_t *mesh) {
        free(mesh->self->name);
        free(mesh->self->connection->name);
        mesh->self->name = xstrdup(name);
-       mesh->self->connection->name = xstrdup(name);
+       mesh->self->connection->name = name;
 
        fprintf(stderr, "Configuration stored in: %s\n", mesh->confbase);
 
@@ -787,7 +789,7 @@ meshlink_handle_t *meshlink_open(const char *confbase, const char *name) {
        return mesh;
 }
 
-void *meshlink_main_loop(void *arg) {
+static void *meshlink_main_loop(void *arg) {
        meshlink_handle_t *mesh = arg;
 
        try_outgoing_connections(mesh);