Prevent crashes if freed objects are passed to SDL API functions
Instead of using the magic tag in the object, we'll actually keep track of valid objects Fixes https://github.com/libsdl-org/SDL/issues/9869 Fixes https://github.com/libsdl-org/SDL/issues/9235
This commit is contained in:
parent
57a15933cd
commit
b0e93e4e63
28 changed files with 191 additions and 126 deletions
|
@ -891,7 +891,7 @@ int SDL_SetKeyboardFocus(SDL_Window *window)
|
|||
SDL_Keyboard *keyboard = &SDL_keyboard;
|
||||
|
||||
if (window) {
|
||||
if (!video || window->magic != &video->window_magic || window->is_destroying) {
|
||||
if (!SDL_ObjectValid(window, SDL_OBJECT_TYPE_WINDOW) || window->is_destroying) {
|
||||
return SDL_SetError("Invalid window");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue