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");
if (strcmp (rtag, start_tag)) {
fprintf (stderr, "Could not find starting tag\n");
fclose(fh);
return;
}
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)) {
GfLogError ("GfParmGetVariable: bad handle (%p)\n", parmHandle);
free(pathdup);
return 0.0f;
}
@ -3789,6 +3790,7 @@ void GfParmRemoveVariable(void *handle, char const *path, char const *key)
if ((parmHandle == NULL) || (parmHandle->magic != PARM_MAGIC)) {
GfLogError ("GfParmRemoveVariable: bad handle (%p)\n", parmHandle);
free(pathdup);
return;
}
@ -3818,6 +3820,7 @@ void GfParmSetVariable(void *handle, char const *path, char const *key, tdble va
if ((parmHandle == NULL) || (parmHandle->magic != PARM_MAGIC)) {
GfLogError ("GfParmSetVariable: bad handle (%p)\n", parmHandle);
free(pathdup);
return;
}

View file

@ -147,8 +147,10 @@ GfuiFontClass::GfuiFontClass(char *FileName)
return;
}
if (!(font = (GLFONT *)malloc(sizeof(GLFONT))))
if (!(font = (GLFONT *)malloc(sizeof(GLFONT)))) {
fclose(Input);
return;
}
//Read glFont structure
//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)
{
fprintf(stderr, "unknown MATERIAL format %s \n", Line);
free(materialt);
return (-1);
}
sscanf(p,
@ -664,6 +665,7 @@ int doObject(char *Line, ob_t *object, mat_t *material)
if (p == NULL)
{
fprintf(stderr, "unknown OBJECT format %s \n", Line);
free(objectt);
return (-1);
}
sscanf(p, "%s", name);
@ -1478,11 +1480,13 @@ int loadAC(char * inputFilename, char * outputFilename)
if (fgets(Line, 256, file) == NULL)
{
fprintf(stderr, "failed to read first line of the file\n");
fclose(file);
return (-1);
}
if (strnicmp(Line, AC3D, strlen(AC3D)))
{
fprintf(stderr, "unknown format %s \n", Line);
fclose(file);
return (-1);
}