Fixed potential double-free when creating a renderer (thanks @Sackzement!)

Closes https://github.com/libsdl-org/SDL/pull/14371
This commit is contained in:
Sam Lantinga
2025-11-01 10:37:33 -07:00
parent aafbf7183f
commit 524739900a

View File

@@ -1111,7 +1111,12 @@ SDL_Renderer *SDL_CreateRendererWithProperties(SDL_PropertiesID props)
for (int i = 0; render_drivers[i]; i++) {
const SDL_RenderDriver *driver = render_drivers[i];
if ((driver_attempt_len == SDL_strlen(driver->name)) && (SDL_strncasecmp(driver->name, driver_attempt, driver_attempt_len) == 0)) {
SDL_free(driver_error);
if (driver_error) {
// Free any previous driver error
SDL_free(driver_error);
driver_error = NULL;
}
rc = driver->CreateRenderer(renderer, window, props);
if (rc) {
break;