diff --git a/src/bnetd/storage_file.cpp b/src/bnetd/storage_file.cpp index c02faed..282a709 100644 --- a/src/bnetd/storage_file.cpp +++ b/src/bnetd/storage_file.cpp @@ -487,6 +487,7 @@ namespace pvpgn { eventlog(eventlog_level_error, __FUNCTION__, "invalid clan file: no first line"); xfree((void*)clan); + std::fclose(fp); continue; } @@ -495,6 +496,7 @@ namespace pvpgn { eventlog(eventlog_level_error, __FUNCTION__, "invalid clan file: invalid first line"); xfree((void*)clan); + std::fclose(fp); continue; } clanname++; @@ -503,6 +505,7 @@ namespace pvpgn { eventlog(eventlog_level_error, __FUNCTION__, "invalid clan file: invalid first line"); xfree((void*)clan); + std::fclose(fp); continue; } *p = '\0'; @@ -510,6 +513,7 @@ namespace pvpgn { eventlog(eventlog_level_error, __FUNCTION__, "invalid clan file: invalid first line"); xfree((void*)clan); + std::fclose(fp); continue; } @@ -518,6 +522,7 @@ namespace pvpgn { eventlog(eventlog_level_error, __FUNCTION__, "invalid clan file: invalid first line"); xfree((void*)clan); + std::fclose(fp); continue; } p++; @@ -525,6 +530,7 @@ namespace pvpgn { eventlog(eventlog_level_error, __FUNCTION__, "invalid clan file: invalid first line"); xfree((void*)clan); + std::fclose(fp); continue; } motd = p + 1; @@ -533,6 +539,7 @@ namespace pvpgn { eventlog(eventlog_level_error, __FUNCTION__, "invalid clan file: invalid first line"); xfree((void*)clan); + std::fclose(fp); continue; } *p = '\0'; @@ -541,6 +548,7 @@ namespace pvpgn { eventlog(eventlog_level_error, __FUNCTION__, "invalid first line in clanfile"); xfree((void*)clan); + std::fclose(fp); continue; } clan->clanname = xstrdup(clanname);