X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Ftincctl.c;h=ca354bc08957a39296f7a80c6bae7667978f8a4e;hb=ed8ce60845dc0568840c64c692838136f342fa54;hp=a3688ecaebc420bd4dde901d1df4f21984cc03ef;hpb=1d322d2eda8223f21b0c00381af34b94054f251a;p=tinc diff --git a/src/tincctl.c b/src/tincctl.c index a3688eca..ca354bc0 100644 --- a/src/tincctl.c +++ b/src/tincctl.c @@ -187,11 +187,15 @@ static bool parse_options(int argc, char **argv) { } } - if(!netname) { - netname = getenv("NETNAME"); - if(netname) - netname = xstrdup(netname); - } + if(!netname && (netname = getenv("NETNAME"))) + netname = xstrdup(netname); + + /* netname "." is special: a "top-level name" */ + + if(netname && !strcmp(netname, ".")) { + free(netname); + netname = NULL; + } return true; } @@ -1190,7 +1194,7 @@ static int cmd_config(int argc, char *argv[]) { while(fgets(buf1, sizeof buf1, f)) { buf1[sizeof buf1 - 1] = 0; - strcpy(buf2, buf1); + strncpy(buf2, buf1, sizeof buf2); // Parse line in a simple way char *bvalue;