diff --git a/src/option.c b/src/option.c index 8322725..286f06b 100644 --- a/src/option.c +++ b/src/option.c @@ -5734,11 +5734,11 @@ static void clear_dynamic_conf(void) } } -static void clear_dynamic_opt(void) +static void clear_dhcp_opt(struct dhcp_opt **dhcp_opts) { struct dhcp_opt *opts, *cp, **up; - for (up = &daemon->dhcp_opts, opts = daemon->dhcp_opts; opts; opts = cp) + for (up = dhcp_opts, opts = *dhcp_opts; opts; opts = cp) { cp = opts->next; @@ -5752,6 +5752,14 @@ static void clear_dynamic_opt(void) } } +static void clear_dynamic_opt(void) +{ + clear_dhcp_opt(&daemon->dhcp_opts); +#ifdef HAVE_DHCP6 + clear_dhcp_opt(&daemon->dhcp_opts6); +#endif +} + void reread_dhcp(void) { struct hostsfile *hf;