[ntcore] Fix dangling pointer in logger (#3465)

This is a breaking change (it changes LogMessage::filename from const
char* to std::string) but there should be few users of it.
This commit is contained in:
Peter Johnson
2021-06-26 22:47:52 -07:00
committed by GitHub
parent 53b4891a5e
commit a371235b0d
4 changed files with 6 additions and 5 deletions

View File

@@ -71,5 +71,5 @@ void LoggerImpl::Log(unsigned int level, const char* file, unsigned int line,
DefaultLogger(level, filename.string().c_str(), line, msg);
}
}
Send(UINT_MAX, 0, level, filename.string().c_str(), line, msg);
Send(UINT_MAX, 0, level, filename.string(), line, msg);
}

View File

@@ -96,7 +96,7 @@ static void ConvertToC(const ConnectionNotification& in,
static void ConvertToC(const LogMessage& in, NT_LogMessage* out) {
out->logger = in.logger;
out->level = in.level;
out->filename = in.filename;
ConvertToC(in.filename, &out->filename);
out->line = in.line;
ConvertToC(in.message, &out->message);
}
@@ -847,6 +847,7 @@ void NT_DisposeLogMessageArray(NT_LogMessage* arr, size_t count) {
}
void NT_DisposeLogMessage(NT_LogMessage* info) {
std::free(info->filename);
std::free(info->message);
}