Skip to content

Commit 95104eb

Browse files
erikmavFreeAndNil
authored andcommitted
Fast fix for NullRefException from FileAppender
1 parent 3877e0b commit 95104eb

3 files changed

Lines changed: 14 additions & 2 deletions

File tree

src/log4net.Tests/Appender/RollingFileAppenderTest.cs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2013,6 +2013,17 @@ public void TestInitializeRollBackups4()
20132013
VerifyInitializeRollBackups(8, iMaxRollBackups);
20142014
}
20152015

2016+
/// <summary>
2017+
/// Ensures that no problems result from creating and then closing the appender
2018+
/// when it has not also been initialized with ActivateOptions().
2019+
/// </summary>
2020+
[Test]
2021+
public void TestCreateCloseNoActivateOptions()
2022+
{
2023+
var appender = new RollingFileAppender();
2024+
appender.Close();
2025+
}
2026+
20162027
/// <summary>
20172028
///
20182029
/// </summary>

src/log4net.Tests/log4net.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
<PrivateAssets>all</PrivateAssets>
6969
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
7070
</PackageReference>
71+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
7172
<PackageReference Include="NUnit" Version="3.14.0" />
7273
<PackageReference Include="NExpect" Version="1.0.273" />
7374
<PackageReference Include="Quackers.TestLogger" Version="1.0.24" />

src/log4net/Appender/FileAppender.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ private LockStateException(SerializationInfo info, StreamingContext context) : b
169169
}
170170

171171
private Stream m_realStream = null;
172-
private LockingModelBase m_lockingModel = null;
172+
private readonly LockingModelBase m_lockingModel;
173173
private int m_lockLevel = 0;
174174

175175
public LockingStream(LockingModelBase locking)
@@ -1306,7 +1306,7 @@ protected override void Reset()
13061306
protected override void OnClose()
13071307
{
13081308
base.OnClose();
1309-
m_lockingModel.OnClose();
1309+
m_lockingModel?.OnClose();
13101310
}
13111311

13121312
/// <summary>

0 commit comments

Comments
 (0)