diff options
-rw-r--r-- | src/coreclr/hosts/unixcoreruncommon/coreruncommon.cpp | 1 | ||||
-rw-r--r-- | src/dlls/mscoree/unixinterface.cpp | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/coreclr/hosts/unixcoreruncommon/coreruncommon.cpp b/src/coreclr/hosts/unixcoreruncommon/coreruncommon.cpp index e7323c177a..4f6ffa0330 100644 --- a/src/coreclr/hosts/unixcoreruncommon/coreruncommon.cpp +++ b/src/coreclr/hosts/unixcoreruncommon/coreruncommon.cpp @@ -290,6 +290,7 @@ int ExecuteManagedAssembly( if (!SUCCEEDED(st)) { fprintf(stderr, "ExecuteAssembly failed - status: 0x%08x\n", st); + exitCode = -1; } } else diff --git a/src/dlls/mscoree/unixinterface.cpp b/src/dlls/mscoree/unixinterface.cpp index 2eaa1b81cb..1cd9d679b8 100644 --- a/src/dlls/mscoree/unixinterface.cpp +++ b/src/dlls/mscoree/unixinterface.cpp @@ -124,7 +124,11 @@ HRESULT ExecuteAssembly( LPCSTR entryPointMethodName, DWORD* exitCode) { - *exitCode = 0; + if (exitCode == NULL) + { + return HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER); + } + *exitCode = -1; DWORD error = PAL_InitializeCoreCLR(exePath, coreClrPath, true); HRESULT hr = HRESULT_FROM_WIN32(error); |