This is an automated email from the ASF dual-hosted git repository.
swebb2066 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
The following commit(s) were added to refs/heads/master by this push:
new f2eb65a2 Add LOG4CXX_CHAR=wchar_t with clang GitHub action (#474)
f2eb65a2 is described below
commit f2eb65a27d76cc88d75e3b5a715af48da95f1068
Author: Stephen Webb <[email protected]>
AuthorDate: Sun Feb 2 13:33:35 2025 +1100
Add LOG4CXX_CHAR=wchar_t with clang GitHub action (#474)
---
.github/workflows/log4cxx-ubuntu.yml | 5 +++++
src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp | 2 +-
src/main/cpp/syslogappender.cpp | 3 ++-
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/log4cxx-ubuntu.yml
b/.github/workflows/log4cxx-ubuntu.yml
index d38dd3ef..ac0f08ad 100644
--- a/.github/workflows/log4cxx-ubuntu.yml
+++ b/.github/workflows/log4cxx-ubuntu.yml
@@ -36,6 +36,7 @@ jobs:
multithread: OFF
exitevents: OFF
fuzzers: OFF
+ logchar: utf-8
- name: ubuntu20-clang
os: ubuntu-20.04
cxx: clang++
@@ -46,6 +47,7 @@ jobs:
multithread: OFF
exitevents: OFF
fuzzers: ON
+ logchar: utf-8
- name: ubuntu22-gcc
os: ubuntu-22.04
cxx: g++
@@ -56,6 +58,7 @@ jobs:
multithread: ON
exitevents: ON
fuzzers: OFF
+ logchar: utf-8
- name: ubuntu22-clang
os: ubuntu-22.04
cxx: clang++
@@ -66,6 +69,7 @@ jobs:
multithread: ON
exitevents: OFF
fuzzers: ON
+ logchar: wchar_t
steps:
- uses: actions/checkout@v4
@@ -103,6 +107,7 @@ jobs:
-DLOG4CXX_MULTIPROCESS_ROLLING_FILE_APPENDER=${{ matrix.multiprocess
}} \
-DLOG4CXX_EVENTS_AT_EXIT=${{ matrix.exitevents }} \
-DBUILD_FUZZERS=${{ matrix.fuzzers }} \
+ -DLOG4CXX_CHAR=${{ matrix.logchar }} \
..
cmake --build .
diff --git a/src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp
b/src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp
index df7562a7..a1d92b91 100644
--- a/src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp
+++ b/src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp
@@ -47,7 +47,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data,
size_t size) {
} else {
tbrp->setFileNamePattern(LogString(LOG4CXX_STR("fuzz-%d{"
DATE_PATTERN "}.zip")));
}
- rfa->setFile(LOG4CXX_STR(LOG4CXX_STR("test.log")));
+ rfa->setFile(LOG4CXX_STR("test.log"));
tbrp->activateOptions(pool);
rfa->setRollingPolicy(tbrp);
diff --git a/src/main/cpp/syslogappender.cpp b/src/main/cpp/syslogappender.cpp
index 3a5a0e2b..77540b6f 100644
--- a/src/main/cpp/syslogappender.cpp
+++ b/src/main/cpp/syslogappender.cpp
@@ -334,8 +334,9 @@ void SyslogAppender::append(const spi::LoggingEventPtr&
event, Pool& p)
for (auto const& item : packets)
{
// use of "%s" to avoid a security hole
+ LOG4CXX_ENCODE_CHAR(itemStr, item);
::syslog(_priv->syslogFacility |
event->getLevel()->getSyslogEquivalent(),
- "%s", item.c_str());
+ "%s", itemStr.c_str());
}
return;