src/render/opengles2/SDL_gles2funcs.h
author Philipp Wiesemann <philipp.wiesemann@arcor.de>
Wed, 29 Oct 2014 20:20:47 +0100
changeset 9201 21d9f9babb30
parent 8892 2c4d3823fdbb
child 9278 8900afb78a19
permissions -rw-r--r--
Fixed bug 2647 - Memory leak in SDL_AddHintCallback function - SDL_hints.c

Nitz

Variable entry going out of scope leaks the storage it points to, at:

/* Need to add a hint entry for this watcher */
hint = (SDL_Hint *)SDL_malloc(sizeof(*hint));
if (!hint) {
return;
}

Patch is attached.
slouken@8616
     1
/*
slouken@8616
     2
  Simple DirectMedia Layer
slouken@8616
     3
  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
slouken@8616
     4
slouken@8616
     5
  This software is provided 'as-is', without any express or implied
slouken@8616
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@8616
     7
  arising from the use of this software.
slouken@8616
     8
slouken@8616
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@8616
    10
  including commercial applications, and to alter it and redistribute it
slouken@8616
    11
  freely, subject to the following restrictions:
slouken@8616
    12
slouken@8616
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@8616
    14
     claim that you wrote the original software. If you use this software
slouken@8616
    15
     in a product, an acknowledgment in the product documentation would be
slouken@8616
    16
     appreciated but is not required.
slouken@8616
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@8616
    18
     misrepresented as being the original software.
slouken@8616
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@8616
    20
*/
slouken@8616
    21
slouken@6188
    22
SDL_PROC(void, glActiveTexture, (GLenum))
slouken@6188
    23
SDL_PROC(void, glAttachShader, (GLuint, GLuint))
slouken@6188
    24
SDL_PROC(void, glBindAttribLocation, (GLuint, GLuint, const char *))
slouken@6188
    25
SDL_PROC(void, glBindTexture, (GLenum, GLuint))
slouken@7502
    26
SDL_PROC(void, glBlendFuncSeparate, (GLenum, GLenum, GLenum, GLenum))
slouken@6188
    27
SDL_PROC(void, glClear, (GLbitfield))
slouken@6188
    28
SDL_PROC(void, glClearColor, (GLclampf, GLclampf, GLclampf, GLclampf))
slouken@6188
    29
SDL_PROC(void, glCompileShader, (GLuint))
slouken@6188
    30
SDL_PROC(GLuint, glCreateProgram, (void))
slouken@6188
    31
SDL_PROC(GLuint, glCreateShader, (GLenum))
slouken@6188
    32
SDL_PROC(void, glDeleteProgram, (GLuint))
slouken@6188
    33
SDL_PROC(void, glDeleteShader, (GLuint))
slouken@6188
    34
SDL_PROC(void, glDeleteTextures, (GLsizei, const GLuint *))
slouken@6188
    35
SDL_PROC(void, glDisable, (GLenum))
slouken@6188
    36
SDL_PROC(void, glDisableVertexAttribArray, (GLuint))
slouken@6188
    37
SDL_PROC(void, glDrawArrays, (GLenum, GLint, GLsizei))
slouken@6188
    38
SDL_PROC(void, glEnable, (GLenum))
slouken@6188
    39
SDL_PROC(void, glEnableVertexAttribArray, (GLuint))
slouken@6188
    40
SDL_PROC(void, glFinish, (void))
slouken@6269
    41
SDL_PROC(void, glGenFramebuffers, (GLsizei, GLuint *))
slouken@6188
    42
SDL_PROC(void, glGenTextures, (GLsizei, GLuint *))
slouken@6188
    43
SDL_PROC(void, glGetBooleanv, (GLenum, GLboolean *))
slouken@6188
    44
SDL_PROC(const GLubyte *, glGetString, (GLenum))
slouken@6188
    45
SDL_PROC(GLenum, glGetError, (void))
slouken@6188
    46
SDL_PROC(void, glGetIntegerv, (GLenum, GLint *))
slouken@6188
    47
SDL_PROC(void, glGetProgramiv, (GLuint, GLenum, GLint *))
slouken@6188
    48
SDL_PROC(void, glGetShaderInfoLog, (GLuint, GLsizei, GLsizei *, char *))
slouken@6188
    49
SDL_PROC(void, glGetShaderiv, (GLuint, GLenum, GLint *))
slouken@6188
    50
SDL_PROC(GLint, glGetUniformLocation, (GLuint, const char *))
slouken@6188
    51
SDL_PROC(void, glLinkProgram, (GLuint))
slouken@6188
    52
SDL_PROC(void, glPixelStorei, (GLenum, GLint))
slouken@6188
    53
SDL_PROC(void, glReadPixels, (GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLvoid*))
gabomdq@7160
    54
SDL_PROC(void, glScissor, (GLint, GLint, GLsizei, GLsizei))
slouken@6188
    55
SDL_PROC(void, glShaderBinary, (GLsizei, const GLuint *, GLenum, const void *, GLsizei))
slouken@8892
    56
SDL_PROC(void, glShaderSource, (GLuint, GLsizei, const GLchar* const*, const GLint *))
slouken@6188
    57
SDL_PROC(void, glTexImage2D, (GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, const void *))
slouken@6188
    58
SDL_PROC(void, glTexParameteri, (GLenum, GLenum, GLint))
slouken@6188
    59
SDL_PROC(void, glTexSubImage2D, (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *))
slouken@6188
    60
SDL_PROC(void, glUniform1i, (GLint, GLint))
slouken@6188
    61
SDL_PROC(void, glUniform4f, (GLint, GLfloat, GLfloat, GLfloat, GLfloat))
slouken@6188
    62
SDL_PROC(void, glUniformMatrix4fv, (GLint, GLsizei, GLboolean, const GLfloat *))
slouken@6188
    63
SDL_PROC(void, glUseProgram, (GLuint))
slouken@6188
    64
SDL_PROC(void, glVertexAttribPointer, (GLuint, GLint, GLenum, GLboolean, GLsizei, const void *))
slouken@6188
    65
SDL_PROC(void, glViewport, (GLint, GLint, GLsizei, GLsizei))
slouken@6232
    66
SDL_PROC(void, glBindFramebuffer, (GLenum, GLuint))
slouken@6232
    67
SDL_PROC(void, glFramebufferTexture2D, (GLenum, GLenum, GLenum, GLuint, GLint))
slouken@6232
    68
SDL_PROC(GLenum, glCheckFramebufferStatus, (GLenum))
slouken@6232
    69
SDL_PROC(void, glDeleteFramebuffers, (GLsizei, const GLuint *))
gabomdq@8021
    70
SDL_PROC(GLint, glGetAttribLocation, (GLuint, const GLchar *))
gabomdq@8833
    71
SDL_PROC(void, glGetProgramInfoLog, (GLuint, GLsizei, GLsizei*, GLchar*))