Fix null-pointer dereference on failing SDL_SYS_CreateProcess

This commit is contained in:
Anonymous Maarten
2024-09-16 16:52:48 +02:00
committed by Anonymous Maarten
parent e9bfa5bf6a
commit f6055432c8

View File

@@ -259,6 +259,8 @@ bool SDL_SYS_CreateProcessWithProperties(SDL_Process *process, SDL_PropertiesID
return false;
}
process->internal = data;
data->process_information.hProcess = INVALID_HANDLE_VALUE;
data->process_information.hThread = INVALID_HANDLE_VALUE;
creation_flags = CREATE_UNICODE_ENVIRONMENT;
@@ -533,8 +535,14 @@ void SDL_SYS_DestroyProcess(SDL_Process *process)
if (io) {
SDL_CloseIO(io);
}
CloseHandle(data->process_information.hThread);
CloseHandle(data->process_information.hProcess);
if (data) {
if (data->process_information.hThread != INVALID_HANDLE_VALUE) {
CloseHandle(data->process_information.hThread);
}
if (data->process_information.hProcess != INVALID_HANDLE_VALUE) {
CloseHandle(data->process_information.hProcess);
}
}
SDL_free(data);
}