fix leaks in error paths found by cppcheck

git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6880 30fe4595-0a0c-4342-8851-515496e4dcbd

Former-commit-id: dd97d334f3161c0fc05a3d2b15fa02a3e2ecad06
Former-commit-id: 92dd196f404dd0108b18165fddbaf5ba3a51730a
This commit is contained in:
iobyte 2020-04-01 13:22:34 +00:00
parent b9ac863b4c
commit 65d5de8f3d
4 changed files with 11 additions and 1 deletions

View file

@ -508,6 +508,7 @@ void DiscretePolicy::loadFile (char* f)
fprintf(stderr, "Error when reading file"); fprintf(stderr, "Error when reading file");
if (strcmp (rtag, start_tag)) { if (strcmp (rtag, start_tag)) {
fprintf (stderr, "Could not find starting tag\n"); fprintf (stderr, "Could not find starting tag\n");
fclose(fh);
return; return;
} }
readSize = fread((void *) &n_read_states, sizeof(int), 1, fh); readSize = fread((void *) &n_read_states, sizeof(int), 1, fh);

View file

@ -3742,6 +3742,7 @@ tdble GfParmGetVariable(void *handle, char const *path, char const *key)
if ((parmHandle == NULL) || (parmHandle->magic != PARM_MAGIC)) { if ((parmHandle == NULL) || (parmHandle->magic != PARM_MAGIC)) {
GfLogError ("GfParmGetVariable: bad handle (%p)\n", parmHandle); GfLogError ("GfParmGetVariable: bad handle (%p)\n", parmHandle);
free(pathdup);
return 0.0f; return 0.0f;
} }
@ -3789,6 +3790,7 @@ void GfParmRemoveVariable(void *handle, char const *path, char const *key)
if ((parmHandle == NULL) || (parmHandle->magic != PARM_MAGIC)) { if ((parmHandle == NULL) || (parmHandle->magic != PARM_MAGIC)) {
GfLogError ("GfParmRemoveVariable: bad handle (%p)\n", parmHandle); GfLogError ("GfParmRemoveVariable: bad handle (%p)\n", parmHandle);
free(pathdup);
return; return;
} }
@ -3818,6 +3820,7 @@ void GfParmSetVariable(void *handle, char const *path, char const *key, tdble va
if ((parmHandle == NULL) || (parmHandle->magic != PARM_MAGIC)) { if ((parmHandle == NULL) || (parmHandle->magic != PARM_MAGIC)) {
GfLogError ("GfParmSetVariable: bad handle (%p)\n", parmHandle); GfLogError ("GfParmSetVariable: bad handle (%p)\n", parmHandle);
free(pathdup);
return; return;
} }

View file

@ -147,8 +147,10 @@ GfuiFontClass::GfuiFontClass(char *FileName)
return; return;
} }
if (!(font = (GLFONT *)malloc(sizeof(GLFONT)))) if (!(font = (GLFONT *)malloc(sizeof(GLFONT)))) {
fclose(Input);
return; return;
}
//Read glFont structure //Read glFont structure
//fread(font, sizeof(GLFONT), 1, Input); //fread(font, sizeof(GLFONT), 1, Input);

View file

@ -626,6 +626,7 @@ int doMaterial(char *Line, ob_t *object, mat_t *material)
if (p == NULL) if (p == NULL)
{ {
fprintf(stderr, "unknown MATERIAL format %s \n", Line); fprintf(stderr, "unknown MATERIAL format %s \n", Line);
free(materialt);
return (-1); return (-1);
} }
sscanf(p, sscanf(p,
@ -664,6 +665,7 @@ int doObject(char *Line, ob_t *object, mat_t *material)
if (p == NULL) if (p == NULL)
{ {
fprintf(stderr, "unknown OBJECT format %s \n", Line); fprintf(stderr, "unknown OBJECT format %s \n", Line);
free(objectt);
return (-1); return (-1);
} }
sscanf(p, "%s", name); sscanf(p, "%s", name);
@ -1478,11 +1480,13 @@ int loadAC(char * inputFilename, char * outputFilename)
if (fgets(Line, 256, file) == NULL) if (fgets(Line, 256, file) == NULL)
{ {
fprintf(stderr, "failed to read first line of the file\n"); fprintf(stderr, "failed to read first line of the file\n");
fclose(file);
return (-1); return (-1);
} }
if (strnicmp(Line, AC3D, strlen(AC3D))) if (strnicmp(Line, AC3D, strlen(AC3D)))
{ {
fprintf(stderr, "unknown format %s \n", Line); fprintf(stderr, "unknown format %s \n", Line);
fclose(file);
return (-1); return (-1);
} }