Skip to content

Commit

Permalink
Add DOM Configurator fuzzer (#460)
Browse files Browse the repository at this point in the history
Signed-off-by: Adam Korczynski <[email protected]>
  • Loading branch information
AdamKorcz authored Jan 28, 2025
1 parent da0313e commit 537d25a
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 1 deletion.
3 changes: 2 additions & 1 deletion src/fuzzers/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,11 @@
set(ALL_LOG4CXX_FUZZERS
PatternLayoutFuzzer
XMLLayoutFuzzer
HTMLLayoutFuzzer
HTMLLayoutFuzzer
JSONLayoutFuzzer
PatternParserFuzzer
PatternConverterFuzzer
DOMConfiguratorFuzzer
)
set(LOG4CXX_CHAR "utf-8")

Expand Down
37 changes: 37 additions & 0 deletions src/fuzzers/cpp/DOMConfiguratorFuzzer.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

#include "stdint.h"
#include <fuzzer/FuzzedDataProvider.h>
#include <log4cxx/xml/domconfigurator.h>

using namespace log4cxx;
using namespace log4cxx::helpers;
using namespace log4cxx::xml;

extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
char filename[9] = "conf.xml";

FILE *fp = fopen(filename, "wb");
if (!fp) {
return 0;
}
fwrite(data, size, 1, fp);
fclose(fp);
DOMConfigurator::configure(filename);
return 0;
}

0 comments on commit 537d25a

Please sign in to comment.