Font memory leak

Hi again, its more font woes. I’ve figured out where I was going wrong with
my last problem, and now I have a new one, complete with memory leak! I’ve
included the routine to where I’ve isolated the leak (if i comment out
CreateSurface, no leak), but I can’t seem to figure out where I’ve gone
wrong. I then run the glFont demo and it has no leak. They’re both
identical. Any help would be great. Did i miss something? Thanks.

GLuint SDLTT::LoadTexture(SDL_Surface *surface, GLfloat texcoord) {
SDL_Surface
surfTemp;
GLuint texture = 0;
int w, h;
SDL_Rect area;
Uint32 saved_flags;
Uint8 saved_alpha;

// convert to a size that’s acceptable to GL
w = power_of_two(surface->w);
h = power_of_two(surface->h);
texcoord[0] = 0.0f;
texcoord[1] = 0.0f;
texcoord[2] = (GLfloat)surface->w / w;
texcoord[3] = (GLfloat)surface->h / h;

surfTemp = SDL_CreateRGBSurface(SDL_SWSURFACE,w, h,32, 0xFF000000,
0x00FF0000, 0x0000FF00, 0x000000FF);

if (surfTemp == NULL ) return 0;

saved_flags = surface->flags&(SDL_SRCALPHA|SDL_RLEACCELOK);
saved_alpha = surface->format->alpha;
if ( (saved_flags & SDL_SRCALPHA) == SDL_SRCALPHA ) {
SDL_SetAlpha(surface, 0, 0);
}

area.x = 0;
area.y = 0;
area.w = surface->w;
area.h = surface->h;

SDL_BlitSurface(surface, &area, surfTemp, &area);

SDL_SetAlpha(surface, saved_flags, saved_alpha);

glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,w,
h,0,GL_RGBA,GL_UNSIGNED_BYTE,surfTemp->pixels);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);

SDL_FreeSurface(surfTemp);

return texture;
}