From a83abb4f0e292dd7f65ac60d1bef13578e7020c2 Mon Sep 17 00:00:00 2001 From: Kamil Hornicek Date: Sun, 29 Mar 2009 13:39:18 +0000 Subject: [PATCH] - fix possible memory leak (patch from Mesa3D by Daniel Zimmermann) svn path=/trunk/; revision=40286 --- .../glu32/libnurbs/interface/bezierPatchMesh.cc | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/reactos/dll/win32/glu32/libnurbs/interface/bezierPatchMesh.cc b/reactos/dll/win32/glu32/libnurbs/interface/bezierPatchMesh.cc index cb028921f56..a7aa3fe98d6 100644 --- a/reactos/dll/win32/glu32/libnurbs/interface/bezierPatchMesh.cc +++ b/reactos/dll/win32/glu32/libnurbs/interface/bezierPatchMesh.cc @@ -105,23 +105,22 @@ bezierPatchMesh *bezierPatchMeshMake(int maptype, float umin, float umax, int us int dimension; int the_ustride; int the_vstride; - - bezierPatchMesh *ret = (bezierPatchMesh*) malloc(sizeof(bezierPatchMesh)); - assert(ret); - ret->bpatch = NULL; - ret->bpatch_normal = NULL; - ret->bpatch_color = NULL; - ret->bpatch_texcoord = NULL; - if(maptype == GL_MAP2_VERTEX_3) dimension = 3; else if (maptype==GL_MAP2_VERTEX_4) dimension = 4; else { fprintf(stderr, "error in inMap2f, maptype=%i is wrong, maptype,map is invalid\n", maptype); return NULL; } - + + bezierPatchMesh *ret = (bezierPatchMesh*) malloc(sizeof(bezierPatchMesh)); + assert(ret); + + ret->bpatch_normal = NULL; + ret->bpatch_color = NULL; + ret->bpatch_texcoord = NULL; ret->bpatch = bezierPatchMake(umin, vmin, umax, vmax, uorder, vorder, dimension); + /*copy the control points there*/ the_ustride = vorder * dimension; the_vstride = dimension;