Skip to content

Commit 0b3d3f7

Browse files
committed
Fix #14577 (Checkers report: unsigned integer overflow can lead to huge string)
1 parent 2dac535 commit 0b3d3f7

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

lib/checkersreport.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,13 +209,20 @@ std::string CheckersReport::getReport(const std::string& criticalErrors) const
209209
fout << title << std::endl;
210210
fout << std::string(title.size(), '-') << std::endl;
211211

212+
maxCheckerSize = 0;
213+
for (const auto& checkReq: addonInfo.checkers) {
214+
const std::string& checker = checkReq.first;
215+
if (maxCheckerSize < checker.size())
216+
maxCheckerSize = checker.size();
217+
}
218+
212219
for (const auto& checkReq: addonInfo.checkers) {
213220
const std::string& checker = checkReq.first;
214221
const bool active = mActiveCheckers.count(checkReq.first) > 0;
215222
const std::string& req = checkReq.second;
216223
fout << (active ? "Yes " : "No ") << checker;
217224
if (!active && !req.empty())
218-
fout << std::string(maxCheckerSize + 4 - checker.size(), ' ') << "require:" + req;
225+
fout << std::string(maxCheckerSize + 4 - checker.size(), ' ') << "require:" << req;
219226
fout << std::endl;
220227
}
221228
}

0 commit comments

Comments
 (0)