Skip to content
Snippets Groups Projects
Commit 0f37411e authored by Monster Iestyn's avatar Monster Iestyn
Browse files

Make sure handles of files opened by W_LoadWadFile are closed if we abort...

Make sure handles of files opened by W_LoadWadFile are closed if we abort loading the files for whatever reason.

ESPECIALLY if the file is already loaded in SRB2, that's just silly.
parent ba5f5be3
No related branches found
No related tags found
No related merge requests found
......@@ -381,6 +381,8 @@ UINT16 W_LoadWadFile(const char *filename)
if (fread(&header, 1, sizeof header, handle) < sizeof header)
{
CONS_Alert(CONS_ERROR, M_GetText("Can't read wad header from %s because %s\n"), filename, strerror(ferror(handle)));
if (handle)
fclose(handle);
return INT16_MAX;
}
......@@ -391,6 +393,8 @@ UINT16 W_LoadWadFile(const char *filename)
&& memcmp(header.identification, "SDLL", 4) != 0)
{
CONS_Alert(CONS_ERROR, M_GetText("%s does not have a valid WAD header\n"), filename);
if (handle)
fclose(handle);
return INT16_MAX;
}
......@@ -405,6 +409,8 @@ UINT16 W_LoadWadFile(const char *filename)
{
CONS_Alert(CONS_ERROR, M_GetText("Wadfile directory in %s is corrupted (%s)\n"), filename, strerror(ferror(handle)));
free(fileinfov);
if (handle)
fclose(handle);
return INT16_MAX;
}
......@@ -462,6 +468,8 @@ UINT16 W_LoadWadFile(const char *filename)
if (!memcmp(wadfiles[i]->md5sum, md5sum, 16))
{
CONS_Alert(CONS_ERROR, M_GetText("%s is already loaded\n"), filename);
if (handle)
fclose(handle);
return INT16_MAX;
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment