mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-20 00:51:42 +00:00
[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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user