X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fconf.c;h=2e13e4564fd142d809f84e5d827bee47b0d33716;hp=997a05e82e9aab307f83154e5ab3ed84861d0e11;hb=b63280f52f997466f0a8bb70f89a3b705b2eb015;hpb=c34eff55553c8cf34bb3bdefa619c27ac193485b diff --git a/src/conf.c b/src/conf.c index 997a05e8..2e13e456 100644 --- a/src/conf.c +++ b/src/conf.c @@ -487,6 +487,7 @@ FILE *ask_and_open(const char *filename, const char *what) { FILE *r; char *directory; char line[PATH_MAX]; + char abspath[PATH_MAX]; const char *fn; /* Check stdin and stdout */ @@ -520,12 +521,10 @@ FILE *ask_and_open(const char *filename, const char *what) { if(fn[0] != '/') { #endif /* The directory is a relative path or a filename. */ - char *p; - directory = get_current_dir_name(); - xasprintf(&p, "%s/%s", directory, fn); + snprintf(abspath, sizeof abspath, "%s/%s", directory, fn); free(directory); - fn = p; + fn = abspath; } umask(0077); /* Disallow everything for group and other */