]> tinc-vpn.org Git - tinc/commitdiff
Fix resource leaks found by GCC -fanalyzer
authorKirill Isakov <bootctl@gmail.com>
Sun, 17 Apr 2022 19:37:38 +0000 (01:37 +0600)
committerKirill Isakov <bootctl@gmail.com>
Tue, 26 Apr 2022 18:52:37 +0000 (00:52 +0600)
src/keys.c
src/multicast_device.c

index ac99ac4037919f0fb88a8fbc0b5b2d3b620cdad9..84bd07198e4de0f71a03fd2428a1d6062a6ac4e0 100644 (file)
@@ -134,6 +134,7 @@ ecdsa_t *read_ecdsa_private_key(splay_tree_t *config_tree, char **keyfile) {
        if(fstat(fileno(fp), &s)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not stat Ed25519 private key file `%s': %s'", fname, strerror(errno));
                free(fname);
+               fclose(fp);
                return false;
        }
 
@@ -268,6 +269,7 @@ rsa_t *read_rsa_private_key(splay_tree_t *config_tree, char **keyfile) {
        if(fstat(fileno(fp), &s)) {
                logger(DEBUG_ALWAYS, LOG_ERR, "Could not stat RSA private key file `%s': %s'", fname, strerror(errno));
                free(fname);
+               fclose(fp);
                return NULL;
        }
 
index 79239a198139f59c6a99fc7ca1aa0d90c9b9a157..3dba7f79457de2cd9376bcbfcbf63071b324b7d4 100644 (file)
@@ -144,6 +144,7 @@ static bool setup_device(void) {
 
        logger(DEBUG_ALWAYS, LOG_INFO, "%s is a %s", device, device_info);
 
+       free(host);
        return true;
 
 error: