You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by sw...@apache.org on 2025/02/22 06:09:53 UTC
(logging-log4cxx) 01/01: Prevent timeout fault running PatternLauoutFuzzer
This is an automated email from the ASF dual-hosted git repository.
swebb2066 pushed a commit to branch prevent_pattern_layout_fuzz_timeout
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
commit 3a30f0bec0a712c04463c61262897711652ba3e1
Author: Stephen Webb <sw...@gmail.com>
AuthorDate: Sat Feb 22 17:09:26 2025 +1100
Prevent timeout fault running PatternLauoutFuzzer
---
src/fuzzers/cpp/PatternParserFuzzer.cpp | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/fuzzers/cpp/PatternParserFuzzer.cpp b/src/fuzzers/cpp/PatternParserFuzzer.cpp
index edbf8684..4b1f2865 100644
--- a/src/fuzzers/cpp/PatternParserFuzzer.cpp
+++ b/src/fuzzers/cpp/PatternParserFuzzer.cpp
@@ -43,6 +43,12 @@
#include <log4cxx/pattern/throwableinformationpatternconverter.h>
#include <log4cxx/pattern/threadusernamepatternconverter.h>
+namespace
+{
+ const int MaximumLoggerNameByteCount = 100;
+ const int MaximumMessageByteCount = 10000;
+ const int MaximumPatternByteCount = 10000;
+}
using namespace log4cxx;
using namespace log4cxx::helpers;
using namespace log4cxx::spi;
@@ -107,9 +113,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
// will use to create strings from "data".
FuzzedDataProvider fdp(data, size);
- std::string loggerStr = fdp.ConsumeRandomLengthString();
- std::string content = fdp.ConsumeRandomLengthString();
- std::string pattern = fdp.ConsumeRandomLengthString();
+ std::string loggerStr = fdp.ConsumeRandomLengthString(MaximumLoggerNameByteCount);
+ std::string content = fdp.ConsumeRandomLengthString(MaximumMessageByteCount);
+ std::string pattern = fdp.ConsumeRandomLengthString(MaximumPatternByteCount);
LogString contentLogString;
LogString loggerLogString;