--- a/lua/uci.c +++ b/lua/uci.c @@ -266,7 +266,7 @@ uci_lua_foreach(lua_State *L) { struct uci_context *ctx; struct uci_package *p; - struct uci_element *e; + struct uci_element *e, *tmp; const char *package, *type; bool ret = false; int offset = 0; @@ -287,7 +287,7 @@ uci_lua_foreach(lua_State *L) if (!p) goto done; - uci_foreach_element(&p->sections, e) { + uci_foreach_element_safe(&p->sections, tmp, e) { struct uci_section *s = uci_to_section(e); i++;