diff options
author | David Härdeman <david@hardeman.nu> | 2020-07-12 22:46:47 +0200 |
---|---|---|
committer | David Härdeman <david@hardeman.nu> | 2020-07-12 22:46:47 +0200 |
commit | 708f431db8dab6779dd090a1117e556340eca9cc (patch) | |
tree | d116ee0f2cf22b906b50bc8c1cb7db7884a7125c /shared | |
parent | 809c4e0b2f4ced53f48b092f43b37c08eae18b75 (diff) |
Some minor fixes, in particular, don't free scfg too early
Diffstat (limited to 'shared')
-rw-r--r-- | shared/config-parser.c | 6 | ||||
-rw-r--r-- | shared/config-parser.h | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/shared/config-parser.c b/shared/config-parser.c index 00f9944..c3cccd6 100644 --- a/shared/config-parser.c +++ b/shared/config-parser.c @@ -575,7 +575,6 @@ bool scfg_parse(struct server_config *scfg, char *buf, bool async, void scfg_delete(struct server_config *scfg) { struct saddr *saddr, *tmp; - struct dns_async *dns; xfree(scfg->name); xfree(scfg->filename); @@ -600,6 +599,11 @@ void scfg_delete(struct server_config *scfg) list_del(&saddr->list); xfree(saddr); } +} + +void scfg_cancel_adns(struct server_config *scfg) +{ + struct dns_async *dns; list_for_each_entry(dns, &scfg->dnslookups, list) { if (dns->pending) diff --git a/shared/config-parser.h b/shared/config-parser.h index ad7e4b2..5b44a46 100644 --- a/shared/config-parser.h +++ b/shared/config-parser.h @@ -108,6 +108,8 @@ bool scfg_parse(struct server_config *scfg, char *buf, bool async, void scfg_delete(struct server_config *scfg); +void scfg_cancel_adns(struct server_config *scfg); + bool scfg_init(struct server_config *scfg, const char *filename); bool strtosockaddrs(const char *str, struct cfg_value *rvalue, bool async); |