diff options
-rw-r--r-- | src/lib_package.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib_package.c b/src/lib_package.c index 5d8eb25d..b6917121 100644 --- a/src/lib_package.c +++ b/src/lib_package.c | |||
@@ -237,7 +237,12 @@ static const char *mksymname(lua_State *L, const char *modname, | |||
237 | 237 | ||
238 | static int ll_loadfunc(lua_State *L, const char *path, const char *name, int r) | 238 | static int ll_loadfunc(lua_State *L, const char *path, const char *name, int r) |
239 | { | 239 | { |
240 | void **reg = ll_register(L, path); | 240 | void **reg; |
241 | if (strlen(path) >= 4096) { | ||
242 | lua_pushliteral(L, "path too long"); | ||
243 | return PACKAGE_ERR_LIB; | ||
244 | } | ||
245 | reg = ll_register(L, path); | ||
241 | if (*reg == NULL) *reg = ll_load(L, path, (*name == '*')); | 246 | if (*reg == NULL) *reg = ll_load(L, path, (*name == '*')); |
242 | if (*reg == NULL) { | 247 | if (*reg == NULL) { |
243 | return PACKAGE_ERR_LIB; /* Unable to load library. */ | 248 | return PACKAGE_ERR_LIB; /* Unable to load library. */ |