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>

Reply via email to