Module Name: src Committed By: salazar Date: Sat May 21 12:39:33 UTC 2016
Modified Files: src/sys/modules/lua: lua.c Log Message: fix double require bug To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.16 src/sys/modules/lua/lua.c:1.17 --- src/sys/modules/lua/lua.c:1.16 Sat Feb 7 04:09:13 2015 +++ src/sys/modules/lua/lua.c Sat May 21 12:39:32 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.16 2015/02/07 04:09:13 christos Exp $ */ +/* $NetBSD: lua.c,v 1.17 2016/05/21 12:39:32 salazar Exp $ */ /* * Copyright (c) 2014 by Lourival Vieira Neto <ln...@netbsd.org>. @@ -355,7 +355,10 @@ luaioctl(dev_t dev, u_long cmd, void *da case LUAREQUIRE: /* 'require' a module in a State */ require = data; LIST_FOREACH(s, &lua_states, lua_next) - if (!strcmp(s->lua_name, require->state)) + if (!strcmp(s->lua_name, require->state)) { + LIST_FOREACH(m, &s->lua_modules, mod_next) + if (!strcmp(m->mod_name, require->module)) + return ENXIO; LIST_FOREACH(m, &lua_modules, mod_next) if (!strcmp(m->mod_name, require->module)) { @@ -379,6 +382,7 @@ luaioctl(dev_t dev, u_long cmd, void *da mod_next); return 0; } + } return ENXIO; case LUALOAD: load = data;