Fix HMP deallocation
All checks were successful
JCS-Prod/RSE-Terrain/pipeline/head This commit looks good

This commit is contained in:
JackCarterSmith 2023-02-05 15:26:49 +01:00
parent 94ac7205c8
commit ebfd3faeaa
Signed by: JackCarterSmith
GPG Key ID: 832E52F4E23F8F24
2 changed files with 4 additions and 6 deletions

View File

@ -85,6 +85,7 @@ static unsigned int mainProcess(int args_cnt, char* args_value[], T_PROG_OPTIONS
if (RSPTerrain_processHMPFile(hmpStruct, args_value[file_index], libParams) != RSPLIB_SUCCESS) { if (RSPTerrain_processHMPFile(hmpStruct, args_value[file_index], libParams) != RSPLIB_SUCCESS) {
printf("[ERR] Failed to parse datas from %s\n", args_value[file_index]); printf("[ERR] Failed to parse datas from %s\n", args_value[file_index]);
RSPTerrain_freeHMP(hmpStruct); RSPTerrain_freeHMP(hmpStruct);
free(hmpStruct);
return RSPLIB_ERROR_PROCESS; return RSPLIB_ERROR_PROCESS;
} }
} else return RSPLIB_ERROR_MEMORY; } else return RSPLIB_ERROR_MEMORY;
@ -107,6 +108,7 @@ static unsigned int mainProcess(int args_cnt, char* args_value[], T_PROG_OPTIONS
RSPTerrain_freeHeightmap(terrainHM); RSPTerrain_freeHeightmap(terrainHM);
} else { } else {
RSPTerrain_freeHMP(hmpStruct); RSPTerrain_freeHMP(hmpStruct);
free(hmpStruct);
return RSPLIB_ERROR_MEMORY; return RSPLIB_ERROR_MEMORY;
} }
@ -126,11 +128,13 @@ static unsigned int mainProcess(int args_cnt, char* args_value[], T_PROG_OPTIONS
RSPTerrain_freeMesh(terrainMesh); RSPTerrain_freeMesh(terrainMesh);
} else { } else {
RSPTerrain_freeHMP(hmpStruct); RSPTerrain_freeHMP(hmpStruct);
free(hmpStruct);
return RSPLIB_ERROR_MEMORY; return RSPLIB_ERROR_MEMORY;
} }
//#endif //#endif
RSPTerrain_freeHMP(hmpStruct); RSPTerrain_freeHMP(hmpStruct);
free(hmpStruct);
} }
return RSPLIB_SUCCESS; return RSPLIB_SUCCESS;

View File

@ -74,8 +74,6 @@ void RSPTerrain_freeHMP(T_RSPTERRAIN_HMP* hmpStruct) {
if (hmpStruct == NULL) return; if (hmpStruct == NULL) return;
if (hmpStruct->tilesmap) free(hmpStruct->tilesmap); if (hmpStruct->tilesmap) free(hmpStruct->tilesmap);
free(hmpStruct);
} }
void RSPTerrain_freeHeightmap(T_RSPTERRAIN_HEIGHTMAP* heightmap) { void RSPTerrain_freeHeightmap(T_RSPTERRAIN_HEIGHTMAP* heightmap) {
@ -85,14 +83,10 @@ void RSPTerrain_freeHeightmap(T_RSPTERRAIN_HEIGHTMAP* heightmap) {
for ( i = 0; i < heightmap->width * RSPTERRAINLIB_TILE_SAMPLING; i++ ) for ( i = 0; i < heightmap->width * RSPTERRAINLIB_TILE_SAMPLING; i++ )
if (heightmap->heightmap[i]) free(heightmap->heightmap[i]); if (heightmap->heightmap[i]) free(heightmap->heightmap[i]);
free(heightmap);
} }
void RSPTerrain_freeMesh(T_RSPTERRAIN_MESH* mesh) { void RSPTerrain_freeMesh(T_RSPTERRAIN_MESH* mesh) {
if (mesh == NULL) return; if (mesh == NULL) return;
if (mesh->verticesmap) free(mesh->verticesmap); if (mesh->verticesmap) free(mesh->verticesmap);
free(mesh);
} }