DEVTOOLS: Fix unimportant memory/resource leaks

CID 1022283, 1022284, 1022285
This commit is contained in:
Torbjörn Andersson 2013-07-13 22:58:27 +02:00
parent 5ed7bec4c6
commit a5864d992d
2 changed files with 8 additions and 1 deletions

View File

@ -2350,8 +2350,10 @@ bool createIDMap(PAKFile &out, const ExtractInformation *eI, const int *needList
for (const int *id = needList; *id != -1; ++id) {
WRITE_BE_UINT16(dst, *id); dst += 2;
const ExtractFilename *fDesc = getFilenameDesc(*id);
if (!fDesc)
if (!fDesc) {
delete[] map;
return false;
}
*dst++ = getTypeID(fDesc->type);
WRITE_BE_UINT32(dst, getFilename(eI, *id)); dst += 4;
}
@ -2359,15 +2361,18 @@ bool createIDMap(PAKFile &out, const ExtractInformation *eI, const int *needList
char filename[12];
if (!getFilename(filename, eI, 0)) {
fprintf(stderr, "ERROR: Could not create ID map for game\n");
delete[] map;
return false;
}
out.removeFile(filename);
if (!out.addFile(filename, map, mapSize)) {
fprintf(stderr, "ERROR: Could not add ID map \"%s\" to kyra.dat\n", filename);
delete[] map;
return false;
}
delete[] map;
return true;
}

View File

@ -142,6 +142,7 @@ bool PAKFile::outputAllFiles() {
printf("OK\n");
} else {
printf("FAILED\n");
fclose(file);
return false;
}
fclose(file);
@ -168,6 +169,7 @@ bool PAKFile::outputFileAs(const char *f, const char *fn) {
printf("OK\n");
} else {
printf("FAILED\n");
fclose(file);
return false;
}
fclose(file);