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 a0c70b33 Normalize invalid SMTPAppender buffer sizes (#650)
a0c70b33 is described below
commit a0c70b33923a8365c84dad93f85c6f687337cd0b
Author: jmestwa-coder <[email protected]>
AuthorDate: Fri May 8 05:56:51 2026 +0530
Normalize invalid SMTPAppender buffer sizes (#650)
---
src/main/cpp/smtpappender.cpp | 5 +++++
src/test/cpp/net/smtpappendertestcase.cpp | 7 +++++++
2 files changed, 12 insertions(+)
diff --git a/src/main/cpp/smtpappender.cpp b/src/main/cpp/smtpappender.cpp
index 8f8543ad..535e3916 100644
--- a/src/main/cpp/smtpappender.cpp
+++ b/src/main/cpp/smtpappender.cpp
@@ -787,6 +787,11 @@ buffer. By default the size of the cyclic buffer is 512
events.
*/
void SMTPAppender::setBufferSize(int sz)
{
+ if (sz < 1)
+ {
+ sz = 1;
+ }
+
_priv->bufferSize = sz;
_priv->cb.resize(sz);
}
diff --git a/src/test/cpp/net/smtpappendertestcase.cpp
b/src/test/cpp/net/smtpappendertestcase.cpp
index c2934897..2b3797cf 100644
--- a/src/test/cpp/net/smtpappendertestcase.cpp
+++ b/src/test/cpp/net/smtpappendertestcase.cpp
@@ -75,6 +75,7 @@ class SMTPAppenderTestCase : public AppenderSkeletonTestCase
LOGUNIT_TEST(testSetOptionThreshold);
LOGUNIT_TEST(testTrigger);
LOGUNIT_TEST(testInvalid);
+ LOGUNIT_TEST(testNegativeBufferSizeOption);
//#define LOG4CXX_TEST_EMAIL_AND_SMTP_HOST_ARE_IN_ENVIRONMENT_VARIABLES
#ifdef LOG4CXX_TEST_EMAIL_AND_SMTP_HOST_ARE_IN_ENVIRONMENT_VARIABLES
// This test requires the following environment variables:
@@ -133,6 +134,12 @@ class SMTPAppenderTestCase : public
AppenderSkeletonTestCase
LOGUNIT_ASSERT(eh->errorReported());
}
+ void testNegativeBufferSizeOption()
+ {
+ SMTPAppender appender;
+ appender.setOption(LOG4CXX_STR("BUFFERSIZE"),
LOG4CXX_STR("-10"));
+ LOGUNIT_ASSERT_EQUAL(1, appender.getBufferSize());
+ }
void testValid()
{