Index: dhcpleased.c =================================================================== RCS file: /cvs/src/sbin/dhcpleased/dhcpleased.c,v retrieving revision 1.23 diff -u -p -r1.23 dhcpleased.c --- dhcpleased.c 4 Jan 2022 06:20:37 -0000 1.23 +++ dhcpleased.c 20 Mar 2022 04:14:26 -0000 @@ -97,7 +97,8 @@ static struct imsgev *iev_engine; #ifndef SMALL struct dhcpleased_conf *main_conf; #endif -char *conffile; +const char default_conffile[] = _PATH_CONF_FILE; +const char *conffile = default_conffile; pid_t frontend_pid; pid_t engine_pid; @@ -308,13 +309,8 @@ main(int argc, char *argv[]) warnx("control socket setup failed"); #endif /* SMALL */ - if (conffile != NULL) { - if (unveil(conffile, "r") == -1) - fatal("unveil %s", conffile); - } else { - if (unveil(_PATH_CONF_FILE, "r") == -1) - fatal("unveil %s", _PATH_CONF_FILE); - } + if (unveil(conffile, "r") == -1) + fatal("unveil %s", conffile); if (unveil("/dev/bpf", "rw") == -1) fatal("unveil /dev/bpf"); Index: dhcpleased.h =================================================================== RCS file: /cvs/src/sbin/dhcpleased/dhcpleased.h,v retrieving revision 1.13 diff -u -p -r1.13 dhcpleased.h --- dhcpleased.h 4 Jan 2022 06:20:37 -0000 1.13 +++ dhcpleased.h 20 Mar 2022 04:14:26 -0000 @@ -318,7 +318,7 @@ int *changed_ifaces(struct dhcpleased_ void print_config(struct dhcpleased_conf *); /* parse.y */ -struct dhcpleased_conf *parse_config(char *); +struct dhcpleased_conf *parse_config(const char *); int cmdline_symset(char *); #else #define sin_to_str(x...) "" Index: parse.y =================================================================== RCS file: /cvs/src/sbin/dhcpleased/parse.y,v retrieving revision 1.6 diff -u -p -r1.6 parse.y --- parse.y 4 Jan 2022 06:20:37 -0000 1.6 +++ parse.y 20 Mar 2022 04:14:26 -0000 @@ -720,16 +720,17 @@ popfile(void) } struct dhcpleased_conf * -parse_config(char *filename) +parse_config(const char *filename) { + extern const char default_conffile[]; struct sym *sym, *next; conf = config_new_empty(); - file = pushfile(filename != NULL ? filename : _PATH_CONF_FILE, 0); + file = pushfile(filename, 0); if (file == NULL) { /* no default config file is fine */ - if (errno == ENOENT && filename == NULL) + if (errno == ENOENT && filename == default_conffile) return (conf); log_warn("%s", filename); free(conf);