From 0d022430861abfa84913936929f606671efddc8b Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 12 Sep 2022 13:44:59 +0200 Subject: [PATCH] ucode: initialize module search path early Ensure that the default module search path is initialized before compiling ucode handler scripts in order to support compile time import statements. Signed-off-by: Jo-Philipp Wich --- ucode.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ucode.c b/ucode.c index c67a619..bc07047 100644 --- a/ucode.c +++ b/ucode.c @@ -929,7 +929,6 @@ rpc_ucode_script_execute(struct ubus_context *ctx, const char *path, uc_program_ script->path = strncpy(pptr, path, pathlen); - uc_search_path_init(&config.module_search_path); uc_vm_init(&script->vm, &config); rpc_ucode_init_globals(script); @@ -1019,6 +1018,10 @@ rpc_ucode_api_init(const struct rpc_daemon_ops *ops, struct ubus_context *ctx) fprintf(stderr, "Failed to dlopen() ucode.so: %s, dynamic ucode plugins may fail\n", dlerror()); } + + /* initialize default module search path */ + uc_search_path_init(&config.module_search_path); + if ((d = opendir(RPC_UCSCRIPT_DIRECTORY)) != NULL) { while ((e = readdir(d)) != NULL) { snprintf(path, sizeof(path), RPC_UCSCRIPT_DIRECTORY "/%s", e->d_name);