Просмотр исходного кода

Update rcore_desktop_sdl.c, fix crash when strncpy tries to copy using NULL pointer (#5359)

When SDL_GameControllerNameForIndex returns null, the app crashes. This was addressed earlier in PR#4859 though the fix submitted on PR #4859 was only fixing the crashing and not addressing the root cause.
pull/5362/head
MikiZX1 1 месяц назад
committed by GitHub
Родитель
Сommit
b18f547d8f
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: B5690EEEBB952194
1 измененных файлов: 4 добавлений и 1 удалений
  1. +4
    -1
      src/platforms/rcore_desktop_sdl.c

+ 4
- 1
src/platforms/rcore_desktop_sdl.c Просмотреть файл

@ -1723,7 +1723,10 @@ void PollInputEvents(void)
CORE.Input.Gamepad.axisState[nextAvailableSlot][GAMEPAD_AXIS_LEFT_TRIGGER] = -1.0f;
CORE.Input.Gamepad.axisState[nextAvailableSlot][GAMEPAD_AXIS_RIGHT_TRIGGER] = -1.0f;
memset(CORE.Input.Gamepad.name[nextAvailableSlot], 0, MAX_GAMEPAD_NAME_LENGTH);
strncpy(CORE.Input.Gamepad.name[nextAvailableSlot], SDL_GameControllerNameForIndex(nextAvailableSlot), MAX_GAMEPAD_NAME_LENGTH - 1);
if (SDL_GameControllerNameForIndex(nextAvailableSlot))
strncpy(CORE.Input.Gamepad.name[nextAvailableSlot], SDL_GameControllerNameForIndex(nextAvailableSlot), MAX_GAMEPAD_NAME_LENGTH - 1);
else
strncpy(CORE.Input.Gamepad.name[nextAvailableSlot], "Noname", 6);
}
else
{

Загрузка…
Отмена
Сохранить