diff --git a/meshcore/agentcore.c b/meshcore/agentcore.c index 0a19578..7db0840 100644 --- a/meshcore/agentcore.c +++ b/meshcore/agentcore.c @@ -5486,7 +5486,7 @@ int MeshAgent_Start(MeshAgentHostContainer *agentHost, int paramLen, char **para WideCharToMultiByte(CP_UTF8, 0, (LPCWCH)tmpExePath, -1, (LPSTR)exePath, (int)ILibMemory_Size(exePath), NULL, NULL); #elif defined(__APPLE__) if (_NSGetExecutablePath(exePath, &len) != 0) ILIBCRITICALEXIT(247); - exePath[(int)len] = 0; + agentHost->exePath = exePath; #elif defined(NACL) #else diff --git a/microscript/ILibDuktape_ScriptContainer.c b/microscript/ILibDuktape_ScriptContainer.c index e422f53..b9f2d2a 100644 --- a/microscript/ILibDuktape_ScriptContainer.c +++ b/microscript/ILibDuktape_ScriptContainer.c @@ -433,7 +433,7 @@ void ILibDuktape_ScriptContainer_CheckEmbedded(char **script, int *scriptLen) #ifndef __APPLE__ char exePath[_MAX_PATH*2]; #else - char exePath[PATH_MAX+1]; + char exePath[PATH_MAX+1] = {0}; #endif #ifdef WIN32 @@ -443,7 +443,7 @@ void ILibDuktape_ScriptContainer_CheckEmbedded(char **script, int *scriptLen) #elif defined(__APPLE__) uint32_t len = sizeof(exePath); if (_NSGetExecutablePath(exePath, &len) != 0) ILIBCRITICALEXIT(247); - exePath[len] = 0; + #elif defined(NACL) #elif defined(_FREEBSD) int x = readlink("/proc/curproc/file", exePath, sizeof(exePath));