From: Steven Barth Date: Sat, 18 Jan 2014 09:55:56 +0000 (+0100) Subject: Fix memory corruption when reloading static leases X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fodhcpd.git;a=commitdiff_plain;h=9d050fcefd335f4cc0d8ddbabebb99954abe8904 Fix memory corruption when reloading static leases --- 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);