Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Fixed bug 1929 - SDL_Texture* from SDL_CreateTexture() causes GL_Bind…

…Texture() to segfault

Charles Huber

If SDL_CreateTexture() takes the !IsSupportedFormat() path it will return a SDL_Texture* with a NULL driverdata member.

If you then SDL_GL_BindTexture() this will cause a segfault in GL_BindTexture() when it unconditionally dereferences driverdata.
  • Loading branch information
slouken committed Jun 26, 2013
1 parent 1a9b3ae commit 260a8e9b3c585e93df17a7391731d9aa641bb619
Showing with 5 additions and 3 deletions.
  1. +5 −3 src/render/SDL_render.c
@@ -1739,11 +1739,13 @@ int SDL_GL_BindTexture(SDL_Texture *texture, float *texw, float *texh)

CHECK_TEXTURE_MAGIC(texture, -1);
renderer = texture->renderer;
if (renderer && renderer->GL_BindTexture) {
if (texture->native) {
return SDL_GL_BindTexture(texture->native, texw, texh);
} else if (renderer && renderer->GL_BindTexture) {
return renderer->GL_BindTexture(renderer, texture, texw, texh);
} else {
return SDL_Unsupported();
}

return SDL_Unsupported();
}

int SDL_GL_UnbindTexture(SDL_Texture *texture)

0 comments on commit 260a8e9

Please sign in to comment.