mesa: don't allocate memory in _mesa_unpack_depth_span if we don't need it
authorMarek Olšák <maraeo@gmail.com>
Tue, 21 Jun 2011 03:08:28 +0000 (05:08 +0200)
committerMarek Olšák <maraeo@gmail.com>
Fri, 24 Jun 2011 20:09:27 +0000 (22:09 +0200)
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/main/pack.c

index 7d541dcd4d2e111677a48924d403975122e7cfc9..a232a51c35507bc77d678fcf4a84695e05865418 100644 (file)
@@ -4683,7 +4683,7 @@ _mesa_unpack_depth_span( struct gl_context *ctx, GLuint n,
                          GLenum srcType, const GLvoid *source,
                          const struct gl_pixelstore_attrib *srcPacking )
 {
-   GLfloat *depthTemp, *depthValues;
+   GLfloat *depthTemp = NULL, *depthValues;
    GLboolean needClamp = GL_FALSE;
 
    /* Look for special cases first.
@@ -4729,16 +4729,16 @@ _mesa_unpack_depth_span( struct gl_context *ctx, GLuint n,
 
    /* general case path follows */
 
-   depthTemp = (GLfloat *) malloc(n * sizeof(GLfloat));
-   if (!depthTemp) {
-      _mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
-      return;
-   }
-
    if (dstType == GL_FLOAT) {
       depthValues = (GLfloat *) dest;
    }
    else {
+      depthTemp = (GLfloat *) malloc(n * sizeof(GLfloat));
+      if (!depthTemp) {
+         _mesa_error(ctx, GL_OUT_OF_MEMORY, "pixel unpacking");
+         return;
+      }
+
       depthValues = depthTemp;
    }