diff --git a/meshcore/agentcore.c b/meshcore/agentcore.c index 2310bad..65b57c9 100644 --- a/meshcore/agentcore.c +++ b/meshcore/agentcore.c @@ -1839,7 +1839,7 @@ End Mesh Agent Duktape Abstraction char* MeshAgent_MakeAbsolutePath(char *basePath, char *localPath) { MeshAgentHostContainer *agent = ILibMemory_CanaryOK(basePath) ? ((MeshAgentHostContainer**)ILibMemory_Extra(basePath))[0] : NULL; - duk_context *ctx = (agent != NULL && agent->meshCoreCtx != NULL) ? agent->meshCoreCtx : ILibDuktape_ScriptContainer_InitializeJavaScriptEngineEx(0, 0, agent->chain, NULL, NULL, agent->exePath, NULL, NULL, agent->chain); + duk_context *ctx = (agent != NULL && agent->meshCoreCtx != NULL) ? agent->meshCoreCtx : ILibDuktape_ScriptContainer_InitializeJavaScriptEngineEx(SCRIPT_ENGINE_NONE, 0, agent->chain, NULL, NULL, agent->exePath, NULL, NULL, agent->chain); if (duk_peval_string(ctx, "require('util-pathHelper');") == 0) // [helper] { diff --git a/microscript/ILibDuktape_ScriptContainer.h b/microscript/ILibDuktape_ScriptContainer.h index b94e784..7425c01 100644 --- a/microscript/ILibDuktape_ScriptContainer.h +++ b/microscript/ILibDuktape_ScriptContainer.h @@ -114,12 +114,13 @@ public: typedef enum SCRIPT_ENGINE_SECURITY_FLAGS { - SCRIPT_ENGINE_NO_DEBUGGER = 0x20000000, - SCRIPT_ENGINE_NO_MESH_AGENT_ACCESS = 0x10000000, + SCRIPT_ENGINE_NO_DEBUGGER = 0x20000000, + SCRIPT_ENGINE_NO_MESH_AGENT_ACCESS = 0x10000000, SCRIPT_ENGINE_NO_GENERIC_MARSHAL_ACCESS = 0x08000000, - SCRIPT_ENGINE_NO_PROCESS_SPAWNING = 0x04000000, - SCRIPT_ENGINE_NO_FILE_SYSTEM_ACCESS = 0x00000001, - SCRIPT_ENGINE_NO_NETWORK_ACCESS = 0x00000002, + SCRIPT_ENGINE_NO_PROCESS_SPAWNING = 0x04000000, + SCRIPT_ENGINE_NO_FILE_SYSTEM_ACCESS = 0x00000001, + SCRIPT_ENGINE_NO_NETWORK_ACCESS = 0x00000002, + SCRIPT_ENGINE_NONE = 0xFFFFFFFF }SCRIPT_ENGINE_SECURITY_FLAGS; typedef struct SCRIPT_ENGINE_SETTINGS diff --git a/microstack/ILibParsers.c b/microstack/ILibParsers.c index 353611e..2c4cdcc 100644 --- a/microstack/ILibParsers.c +++ b/microstack/ILibParsers.c @@ -10540,8 +10540,8 @@ char* ILibToHex(char* data, int len, char* out) */ int ILibIsRunningOnChainThread(void* chain) { + if (chain == NULL) { return(1); } struct ILibBaseChain* c = (struct ILibBaseChain*)chain; - #if defined(WIN32) return(c->ChainThreadID == 0 || c->ChainThreadID == GetCurrentThreadId()); #else