diff --git a/inject/main.c b/inject/main.c index a5295ad..af102b2 100644 --- a/inject/main.c +++ b/inject/main.c @@ -21,6 +21,7 @@ int main(int argc, char **argv) STARTUPINFO si; HRESULT hr; BOOL ok; + DWORD exitCode; hr = options_init(&opt, argc, argv); @@ -102,11 +103,16 @@ int main(int argc, char **argv) } end: + + exitCode = ERROR_SUCCESS; + if (pi.hProcess != NULL) { if (FAILED(hr)) { TerminateProcess(pi.hProcess, EXIT_FAILURE); } + GetExitCodeProcess(pi.hProcess, &exitCode); + CloseHandle(pi.hProcess); } @@ -116,7 +122,7 @@ end: free(cmdline); - return FAILED(hr) ? EXIT_FAILURE : EXIT_SUCCESS; + return FAILED(hr) ? EXIT_FAILURE : exitCode; } static HRESULT inject_dll(HANDLE process, const char *dll_name)