Skip to content

Commit 5247399

Browse files
committed
Fixed potential double-free when creating a renderer (thanks @Sackzement!)
Closes #14371
1 parent aafbf71 commit 5247399

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/render/SDL_render.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1111,7 +1111,12 @@ SDL_Renderer *SDL_CreateRendererWithProperties(SDL_PropertiesID props)
11111111
for (int i = 0; render_drivers[i]; i++) {
11121112
const SDL_RenderDriver *driver = render_drivers[i];
11131113
if ((driver_attempt_len == SDL_strlen(driver->name)) && (SDL_strncasecmp(driver->name, driver_attempt, driver_attempt_len) == 0)) {
1114-
SDL_free(driver_error);
1114+
if (driver_error) {
1115+
// Free any previous driver error
1116+
SDL_free(driver_error);
1117+
driver_error = NULL;
1118+
}
1119+
11151120
rc = driver->CreateRenderer(renderer, window, props);
11161121
if (rc) {
11171122
break;

0 commit comments

Comments
 (0)