Go to file
Sam Lantinga f5c731212e hidapi/windows: fix use-after-free SBH corruption due to overlapped ReadFile in hidapi not being canceled for all threads before device close
- hidapi already called CancelIo on hid_close but that only cancels pending IO for the current thread. Controller read/writes originate from multiple threads (serialized, but on a different thread nonetheless) but device destruction was always done on the main device thread which left any pending overlapped reads still running after hidapi's internal read buffer is deallocated leading to intermittent free list corruption.

Signed-off-by: Sam Lantinga <slouken@libsdl.org>
2023-05-26 08:19:04 -07:00
.github Disable HIDAPI libusb support on FreeBSD in CI 2023-05-26 08:19:04 -07:00
VisualC rwlock: Added SDL_rwlock API for shared locks. 2023-04-27 21:54:02 -04:00
VisualC-GDK rwlock: Added SDL_rwlock API for shared locks. 2023-04-27 21:54:02 -04:00
VisualC-WinRT rwlock: Added SDL_rwlock API for shared locks. 2023-04-27 21:54:02 -04:00
Xcode rwlock: Added SDL_rwlock API for shared locks. 2023-04-27 21:54:02 -04:00
android-project Added Android hidapi 0.14.0 support 2023-05-26 08:19:04 -07:00
build-scripts The SDL_WINDOW_ALLOW_HIGHDPI flag has been renamed SDL_WINDOW_HIGH_PIXEL_DENSITY 2023-05-18 07:34:45 -07:00
cmake rwlock: Added SDL_rwlock API for shared locks. 2023-04-27 21:54:02 -04:00
docs The SDL_WINDOW_ALLOW_HIGHDPI flag has been renamed SDL_WINDOW_HIGH_PIXEL_DENSITY 2023-05-18 07:34:45 -07:00
include Update the SDL HIDAPI API to match upstream hidapi 0.14.0 2023-05-26 08:19:04 -07:00
mingw/pkg-support/cmake build: don't add SDL3 subfolder to include path for external projects 2022-11-27 14:33:13 -08:00
src hidapi/windows: fix use-after-free SBH corruption due to overlapped ReadFile in hidapi not being canceled for all threads before device close 2023-05-26 08:19:04 -07:00
test Added SDL_swprintf() and SDL_vswprintf() 2023-05-26 08:19:04 -07:00
wayland-protocols wayland: Support axis relative direction 2023-04-05 08:58:12 -04:00
.clang-format Commented out syntax that causes Visual Studio 2019 to complain on every edit 2022-12-02 00:43:01 -08:00
.clang-tidy Add clang-tidy config and CMake/CI support. 2023-02-06 21:02:25 -08:00
.editorconfig Fixed formatting for Haiku cc files 2023-01-25 03:03:41 -08:00
.gitignore include: add \brief to includes 2023-02-19 10:01:33 -08:00
.wikiheaders-options sdlwiki: SDL3 advises users to include through 'SDL3/SDL.h' 2023-03-21 02:19:19 +01:00
Android.mk Create a static SDL_test library on Android 2023-01-25 13:06:42 -08:00
BUGS.txt
CMakeLists.txt Added SDL_wcstol() 2023-05-26 08:19:04 -07:00
CREDITS.txt Use Apple's nomenclature for macOS and iOS 2022-11-25 16:00:06 -08:00
INSTALL.txt Use Apple's nomenclature for macOS and iOS 2022-11-25 16:00:06 -08:00
LICENSE.txt Updated copyright for 2023 2023-01-09 09:41:41 -08:00
README-SDL.txt
README.md First pass at changing SDL 2.0 to SDL 3.0 2022-11-21 20:28:58 -08:00
TODO.txt
WhatsNew.txt Android: control activity re-creation 2023-05-12 07:48:33 -07:00

README.md

Simple DirectMedia Layer (SDL) Version 3.0

https://www.libsdl.org/

Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.

More extensive documentation is available in the docs directory, starting with README.md

Enjoy!

Sam Lantinga (slouken@libsdl.org)