testshader: use SDL_malloc instead of SDL_stack_alloc.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
diff --git a/test/testshader.c b/test/testshader.c
index 9e81bf5..3c2da59 100644
--- a/test/testshader.c
+++ b/test/testshader.c
@@ -132,15 +132,18 @@ static SDL_bool CompileShader(GLhandleARB shader, const char *source)
glCompileShaderARB(shader);
glGetObjectParameterivARB(shader, GL_OBJECT_COMPILE_STATUS_ARB, &status);
if (status == 0) {
- GLint length;
+ GLint length = 0;
char *info;
glGetObjectParameterivARB(shader, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length);
- info = SDL_stack_alloc(char, length+1);
- glGetInfoLogARB(shader, length, NULL, info);
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to compile shader:\n%s\n%s", source, info);
- SDL_stack_free(info);
-
+ info = (char *) SDL_malloc(length + 1);
+ if (!info) {
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Out of memory!");
+ } else {
+ glGetInfoLogARB(shader, length, NULL, info);
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to compile shader:\n%s\n%s", source, info);
+ SDL_free(info);
+ }
return SDL_FALSE;
} else {
return SDL_TRUE;
@@ -157,15 +160,18 @@ static SDL_bool LinkProgram(ShaderData *data)
glGetObjectParameterivARB(data->program, GL_OBJECT_LINK_STATUS_ARB, &status);
if (status == 0) {
- GLint length;
+ GLint length = 0;
char *info;
glGetObjectParameterivARB(data->program, GL_OBJECT_INFO_LOG_LENGTH_ARB, &length);
- info = SDL_stack_alloc(char, length+1);
- glGetInfoLogARB(data->program, length, NULL, info);
- SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to link program:\n%s", info);
- SDL_stack_free(info);
-
+ info = (char *) SDL_malloc(length + 1);
+ if (!info) {
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Out of memory!");
+ } else {
+ glGetInfoLogARB(data->program, length, NULL, info);
+ SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Failed to link program:\n%s", info);
+ SDL_free(info);
+ }
return SDL_FALSE;
} else {
return SDL_TRUE;