summaryrefslogtreecommitdiff
path: root/sbin/unwind/frontend.c
diff options
context:
space:
mode:
Diffstat (limited to 'sbin/unwind/frontend.c')
-rw-r--r--sbin/unwind/frontend.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sbin/unwind/frontend.c b/sbin/unwind/frontend.c
index ebe1a3c79b8..eb4927618ba 100644
--- a/sbin/unwind/frontend.c
+++ b/sbin/unwind/frontend.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: frontend.c,v 1.16 2019/03/01 08:02:25 florian Exp $ */
+/* $OpenBSD: frontend.c,v 1.17 2019/03/15 16:48:37 florian Exp $ */
/*
* Copyright (c) 2018 Florian Obser <florian@openbsd.org>
@@ -352,6 +352,9 @@ frontend_dispatch_main(int fd, short event, void *bula)
event_add(&iev_captiveportal->ev, NULL);
break;
case IMSG_RECONF_CONF:
+ if (nconf != NULL)
+ fatalx("%s: IMSG_RECONF_CONF already in "
+ "progress", __func__);
if (IMSG_DATA_SIZE(imsg) != sizeof(struct uw_conf))
fatalx("%s: IMSG_RECONF_CONF wrong length: %lu",
__func__, IMSG_DATA_SIZE(imsg));
@@ -411,6 +414,9 @@ frontend_dispatch_main(int fd, short event, void *bula)
uw_forwarder, entry);
break;
case IMSG_RECONF_END:
+ if (nconf == NULL)
+ fatalx("%s: IMSG_RECONF_END without "
+ "IMSG_RECONF_CONF", __func__);
merge_config(frontend_conf, nconf);
nconf = NULL;
break;