Skip to content

Commit 1485270

Browse files
committed
core/log: ensure malformed logs cannot overflow ring buffer
1 parent 5f4d7f8 commit 1485270

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/core/logging.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ bool EncodedLogWriter::write(const LogMessage& message) {
469469
quint8 field = compressedTypeOf(message.type);
470470

471471
auto secondDelta = this->lastMessageTime.secsTo(message.time);
472-
if (secondDelta >= 29) {
472+
if (secondDelta >= 0x1d) {
473473
// 0x1d = followed by delta int
474474
// 0x1e = followed by epoch delta int
475475
field |= (secondDelta < 0xffff ? 0x1d : 0x1e) << 3;
@@ -521,6 +521,7 @@ bool EncodedLogReader::read(LogMessage* slot) {
521521
if (!this->readVarInt(&secondDelta)) return false;
522522
}
523523

524+
if (index < 0 || index >= this->recentMessages.size()) return false;
524525
*slot = this->recentMessages.at(index);
525526
this->lastMessageTime = this->lastMessageTime.addSecs(static_cast<qint64>(secondDelta));
526527
slot->time = this->lastMessageTime;

0 commit comments

Comments
 (0)