mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
EventTraceMgr: Move fclose() to destructor
Coverity complains about a missing fclose() in a non-existing destructor. Also sprinkle in a strerror() call for fopen() to provide a bit of a hint what might have gone wrong.
This commit is contained in:
parent
bf30cf7997
commit
1465e390a2
2 changed files with 13 additions and 3 deletions
|
@ -955,7 +955,17 @@ bool ValTraceMgr::IsUnsupported(const Val* v) const {
|
|||
EventTraceMgr::EventTraceMgr(const std::string& trace_file) {
|
||||
f = fopen(trace_file.c_str(), "w");
|
||||
if ( ! f )
|
||||
reporter->FatalError("can't open event trace file %s", trace_file.c_str());
|
||||
reporter->FatalError("can't open event trace file %s: %s", trace_file.c_str(), strerror(errno));
|
||||
}
|
||||
|
||||
EventTraceMgr::~EventTraceMgr() {
|
||||
if ( f ) {
|
||||
if ( fclose(f) )
|
||||
// Not fatal, won't do anything with it anymore anyhow.
|
||||
reporter->Error("failed to close event trace file: %s", strerror(errno));
|
||||
|
||||
f = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void EventTraceMgr::Generate() {
|
||||
|
@ -999,8 +1009,6 @@ void EventTraceMgr::Generate() {
|
|||
for ( auto& c : c_t )
|
||||
fprintf(f, "#\t%s\n", c.c_str());
|
||||
}
|
||||
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
void EventTraceMgr::StartEvent(const ScriptFunc* ev, const zeek::Args* args) {
|
||||
|
|
|
@ -441,6 +441,8 @@ class EventTraceMgr {
|
|||
public:
|
||||
EventTraceMgr(const std::string& trace_file);
|
||||
|
||||
~EventTraceMgr();
|
||||
|
||||
// Generates the trace upon exit.
|
||||
void Generate();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue