Skip to content

Commit 904b34f

Browse files
Do not add empty lines to censoring
This leads to eternal loop at applying Relates-To: NLAM-140 Signed-off-by: Rustam Gamidov <[email protected]>
1 parent 52d499d commit 904b34f

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

olp-cpp-sdk-core/src/logging/Log.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ class LogImpl {
8080
unsigned int line, const char* function,
8181
const char* fullFunction);
8282

83-
void addCensor(std::string msg);
83+
void addCensor(const std::string& msg);
8484
void removeCensor(const std::string& msg);
8585

8686
private:
@@ -228,11 +228,19 @@ void LogImpl::censorLogItem(LogItem& log_item, const std::string& original) {
228228
}
229229
}
230230

231-
void LogImpl::addCensor(std::string msg) {
232-
m_toCensor.emplace_back(std::move(msg));
231+
void LogImpl::addCensor(const std::string& msg) {
232+
if (msg.empty()) {
233+
return;
234+
}
235+
236+
m_toCensor.emplace_back(msg);
233237
}
234238

235239
void LogImpl::removeCensor(const std::string& msg) {
240+
if (msg.empty()) {
241+
return;
242+
}
243+
236244
auto it = std::find(m_toCensor.begin(), m_toCensor.end(), msg);
237245
if (it != m_toCensor.end()) {
238246
m_toCensor.erase(it);

olp-cpp-sdk-core/tests/logging/LogTest.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,9 @@ TEST(LogTest, LogCensor) {
428428
constexpr auto secret_01 = "1st secret";
429429
constexpr auto secret_02 = "to hide";
430430
constexpr auto secret_mask = "******";
431+
constexpr auto empty_secret = "";
431432

433+
olp::logging::Log::addCensor(empty_secret);
432434
olp::logging::Log::addCensor(secret_01);
433435
olp::logging::Log::addCensor(secret_02);
434436
olp::logging::Log::addCensor(secret_mask);
@@ -453,6 +455,7 @@ TEST(LogTest, LogCensor) {
453455
EXPECT_EQ("no loop **********", appender->messages_[6].message_);
454456
EXPECT_EQ("Fatal *****", appender->messages_[7].message_);
455457

458+
olp::logging::Log::removeCensor(empty_secret);
456459
olp::logging::Log::removeCensor("not exisiting secret");
457460
OLP_SDK_LOG_TRACE_F("trace", "%s %s", "plain", secret_01);
458461
olp::logging::Log::removeCensor(secret_01);

0 commit comments

Comments
 (0)