check for every malloc call if memory was allocated successfully

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1168 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
dcnieho 2012-03-17 02:21:19 +00:00
parent 5818920c5c
commit 1b5b24155d

View File

@ -694,6 +694,12 @@ static void fghCube( GLdouble dSize, GLboolean useWireMode )
/* Need to build new vertex list containing vertices for cube of different size */ /* Need to build new vertex list containing vertices for cube of different size */
GLdouble *vertices = malloc(CUBE_VERT_ELEM_PER_OBJ * sizeof(GLdouble)); GLdouble *vertices = malloc(CUBE_VERT_ELEM_PER_OBJ * sizeof(GLdouble));
/* Bail out if memory allocation fails, fgError never returns */
if (!(*vertices))
{
free(*vertices);
fgError("Failed to allocate memory in fghCube");
}
for (i=0; i<CUBE_VERT_ELEM_PER_OBJ; i++) for (i=0; i<CUBE_VERT_ELEM_PER_OBJ; i++)
vertices[i] = dSize*cube_verts[i]; vertices[i] = dSize*cube_verts[i];
@ -721,6 +727,13 @@ static void fghSierpinskiSponge ( int numLevels, GLdouble offset[3], GLdouble sc
/* Allocate memory */ /* Allocate memory */
vertices = malloc(numVert*3 * sizeof(GLdouble)); vertices = malloc(numVert*3 * sizeof(GLdouble));
normals = malloc(numVert*3 * sizeof(GLdouble)); normals = malloc(numVert*3 * sizeof(GLdouble));
/* Bail out if memory allocation fails, fgError never returns */
if (!(*vertices) || !(*normals))
{
free(*vertices);
free(*normals);
fgError("Failed to allocate memory in fghSierpinskiSponge");
}
/* Generate elements */ /* Generate elements */
fghSierpinskiSpongeGenerate ( numLevels, offset, scale, vertices, normals ); fghSierpinskiSpongeGenerate ( numLevels, offset, scale, vertices, normals );