This is an automated email from the ASF dual-hosted git repository. freeandnil pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/logging-log4net.git
The following commit(s) were added to refs/heads/master by this push: new 95104eb8 Fast fix for NullRefException from FileAppender 95104eb8 is described below commit 95104eb82b01c13638eca89a68f584affa3e37e1 Author: Erik Mavrinac <erik...@microsoft.com> AuthorDate: Fri Mar 8 15:01:40 2024 -0800 Fast fix for NullRefException from FileAppender --- src/log4net.Tests/Appender/RollingFileAppenderTest.cs | 11 +++++++++++ src/log4net.Tests/log4net.Tests.csproj | 1 + src/log4net/Appender/FileAppender.cs | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/log4net.Tests/Appender/RollingFileAppenderTest.cs b/src/log4net.Tests/Appender/RollingFileAppenderTest.cs index c6e59387..101b390b 100644 --- a/src/log4net.Tests/Appender/RollingFileAppenderTest.cs +++ b/src/log4net.Tests/Appender/RollingFileAppenderTest.cs @@ -2013,6 +2013,17 @@ namespace log4net.Tests.Appender VerifyInitializeRollBackups(8, iMaxRollBackups); } + /// <summary> + /// Ensures that no problems result from creating and then closing the appender + /// when it has not also been initialized with ActivateOptions(). + /// </summary> + [Test] + public void TestCreateCloseNoActivateOptions() + { + var appender = new RollingFileAppender(); + appender.Close(); + } + /// <summary> /// /// </summary> diff --git a/src/log4net.Tests/log4net.Tests.csproj b/src/log4net.Tests/log4net.Tests.csproj index 414b2a2d..23090bb6 100644 --- a/src/log4net.Tests/log4net.Tests.csproj +++ b/src/log4net.Tests/log4net.Tests.csproj @@ -68,6 +68,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> + <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" /> <PackageReference Include="NUnit" Version="3.14.0" /> <PackageReference Include="NExpect" Version="1.0.273" /> <PackageReference Include="Quackers.TestLogger" Version="1.0.24" /> diff --git a/src/log4net/Appender/FileAppender.cs b/src/log4net/Appender/FileAppender.cs index 4179190d..14a3e359 100644 --- a/src/log4net/Appender/FileAppender.cs +++ b/src/log4net/Appender/FileAppender.cs @@ -169,7 +169,7 @@ namespace log4net.Appender } private Stream m_realStream = null; - private LockingModelBase m_lockingModel = null; + private readonly LockingModelBase m_lockingModel; private int m_lockLevel = 0; public LockingStream(LockingModelBase locking) @@ -1306,7 +1306,7 @@ namespace log4net.Appender protected override void OnClose() { base.OnClose(); - m_lockingModel.OnClose(); + m_lockingModel?.OnClose(); } /// <summary>