aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib_package.c7
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
238static int ll_loadfunc(lua_State *L, const char *path, const char *name, int r) 238static 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. */