anyone have a problem with freeing the memory after calling auxDIBImageLoad ?
i have a map that has 7 textures and it loads fine. Then i make a map that has 8 textures and bam i get illeagal ops in the GDI32.DLL when i try to free the memory myself.
this is the code:

GLuint Model::LoadGLTexture( const char *filename ){
AUX_RGBImageRec *pImage;
GLuint texture = 0;
pImage = LoadBMP(filename);
if ( pImage != NULL && pImage->data != NULL ){
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR_MIPMAP_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, pImage->sizeX, pImage->sizeY, GL_RGB, GL_UNSIGNED_BYTE, pImage->data);
free(pImage->data);
i checked the address of pImage->data and there is legitimate data there. If i remove that line it works great.. but i fear of a tremendeous memory leak if i remove that line for good.
could someone tell me if it is necessary to free that data? and if it is, then why does it crash after 7 textures are loaded?