From 9d050fcefd335f4cc0d8ddbabebb99954abe8904 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Sat, 18 Jan 2014 10:55:56 +0100 Subject: [PATCH] Fix memory corruption when reloading static leases --- src/config.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/config.c b/src/config.c index 05eb824..8e42ffa 100644 --- a/src/config.c +++ b/src/config.c @@ -517,8 +517,8 @@ static int set_interface(struct uci_section *s) void odhcpd_reload(void) { struct uci_context *uci = uci_alloc_context(); - struct lease *l; - list_for_each_entry(l, &leases, head) { + while (!list_empty(&leases)) { + struct lease *l = list_first_entry(&leases, struct lease, head); list_del(&l->head); free(l->duid); free(l); -- 2.11.0