X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Ffsck.c;h=b44b7759584aa4a4bba930b613ef0d2597453aed;hb=28be4baae016a5a771d0d9ec6e97ef38a4fc9e46;hp=e7262727e67e85e5a328a65a65fcf034febe6bf1;hpb=373b0c12d9d0e8a3b449fd18be704e28dd6403e1;p=tinc diff --git a/src/fsck.c b/src/fsck.c index e7262727..b44b7759 100644 --- a/src/fsck.c +++ b/src/fsck.c @@ -64,6 +64,7 @@ again: goto again; } +static void print_tinc_cmd(const char *format, ...) ATTR_FORMAT(printf, 1, 2); static void print_tinc_cmd(const char *format, ...) { if(confbasegiven) { fprintf(stderr, "%s -c %s ", exe_name, confbase); @@ -141,6 +142,11 @@ static void check_conffile(const char *nodename, bool server) { ++total_vars; } + if(!total_vars) { + splay_empty_tree(&config); + return; + } + const size_t countlen = total_vars * sizeof(int); int *count = alloca(countlen); memset(count, 0, countlen); @@ -536,14 +542,11 @@ static bool check_public_keys(splay_tree_t *config, const char *name, rsa_t *rsa fprintf(stderr, "WARNING: cannot read %s\n", host_file); } - ecdsa_t *ec_pub = NULL; - read_ecdsa_public_key(&ec_pub, &config, name); + ecdsa_t *ec_pub = read_ecdsa_public_key(&config, name); bool success = true; #ifndef DISABLE_LEGACY - rsa_t *rsa_pub = NULL; - read_rsa_public_key(&rsa_pub, config, name); - + rsa_t *rsa_pub = read_rsa_public_key(config, name); success = check_rsa_pubkey(rsa_priv, rsa_pub, host_file); rsa_free(rsa_pub); #endif