X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fconnection.c;h=92a9f48ef0517e53ae52c38f9935adb3392a58fd;hb=1b777010e7255cb354e31ca28c6442ee86383bac;hp=9c459787eabbb5bc94a200a2dc01e3effbc1be58;hpb=9b9230a0a79c670b86f54fadd2807b864ff9d91f;p=tinc diff --git a/src/connection.c b/src/connection.c index 9c459787..92a9f48e 100644 --- a/src/connection.c +++ b/src/connection.c @@ -48,21 +48,24 @@ void exit_connections(void) { } connection_t *new_connection(void) { - return xmalloc_and_zero(sizeof(connection_t)); + return xzalloc(sizeof(connection_t)); } void free_connection(connection_t *c) { - if(!c) + if(!c) { return; + } +#ifndef DISABLE_LEGACY cipher_close(c->incipher); digest_close(c->indigest); cipher_close(c->outcipher); digest_close(c->outdigest); + rsa_free(c->rsa); +#endif sptps_stop(&c->sptps); ecdsa_free(c->ecdsa); - rsa_free(c->rsa); free(c->hischallenge); @@ -71,14 +74,16 @@ void free_connection(connection_t *c) { io_del(&c->io); - if(c->socket > 0) + if(c->socket > 0) { closesocket(c->socket); + } free(c->name); free(c->hostname); - if(c->config_tree) + if(c->config_tree) { exit_configuration(&c->config_tree); + } free(c); } @@ -94,9 +99,9 @@ void connection_del(connection_t *c) { bool dump_connections(connection_t *cdump) { for list_each(connection_t, c, connection_list) { send_request(cdump, "%d %d %s %s %x %d %x", - CONTROL, REQ_DUMP_CONNECTIONS, - c->name, c->hostname, c->options, c->socket, - bitfield_to_int(&c->status, sizeof c->status)); + CONTROL, REQ_DUMP_CONNECTIONS, + c->name, c->hostname, c->options, c->socket, + bitfield_to_int(&c->status, sizeof(c->status))); } return send_request(cdump, "%d %d", CONTROL, REQ_DUMP_CONNECTIONS);