X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet_setup.c;h=e1d9f2759e8758e583aee0a30e852515e47e8f00;hp=623ac3838119d3947fe1c584a5cc68720a35b837;hb=ef24d3997fe83e85dd1b4e9a164a3d96340cca7e;hpb=6430f8165eb574d78fc4ab18054d32f36c2f241d diff --git a/src/net_setup.c b/src/net_setup.c index 623ac383..e1d9f275 100644 --- a/src/net_setup.c +++ b/src/net_setup.c @@ -295,17 +295,18 @@ char *get_name(void) { if(*name == '$') { char *envname = getenv(name + 1); + char hostname[32] = ""; if(!envname) { if(strcmp(name + 1, "HOST")) { fprintf(stderr, "Invalid Name: environment variable %s does not exist\n", name + 1); return false; } - char envname[32]; - if(gethostname(envname, 32)) { + if(gethostname(hostname, sizeof hostname) || !*hostname) { fprintf(stderr, "Could not get hostname: %s\n", strerror(errno)); return false; } - envname[31] = 0; + hostname[31] = 0; + envname = hostname; } free(name); name = xstrdup(envname);