From b26e7af470e9b84fdb2d17a0212427cf40f4acfe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 06:09:51 +0000 Subject: [PATCH 1/2] chore(deps): update dependency sonaranalyzer.csharp to 10.29.0.143774 --- Directory.Packages.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Directory.Packages.props b/Directory.Packages.props index cc3297b..6d7422c 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -15,7 +15,7 @@ - + From cfda61e243e3520c5f7ccf2b780c116d64f92edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20St=C3=BChmer?= Date: Thu, 23 Jul 2026 08:35:52 +0200 Subject: [PATCH 2/2] fix: suppress S6640 for intentional unsafe pointer overloads --- src/NetEvolve.Arguments/ArgumentNullExceptionPolyfills.cs | 2 ++ .../ArgumentNullExceptionPolyfillsTests.cs | 4 ++++ .../ArgumentTests_ThrowIfNull.cs | 2 ++ 3 files changed, 8 insertions(+) diff --git a/src/NetEvolve.Arguments/ArgumentNullExceptionPolyfills.cs b/src/NetEvolve.Arguments/ArgumentNullExceptionPolyfills.cs index 439c678..da82d55 100644 --- a/src/NetEvolve.Arguments/ArgumentNullExceptionPolyfills.cs +++ b/src/NetEvolve.Arguments/ArgumentNullExceptionPolyfills.cs @@ -38,10 +38,12 @@ public static void ThrowIfNull( /// The name of the parameter with which corresponds. /// is . /// +#pragma warning disable S6640 // Make sure that using "unsafe" is safe here. public static unsafe void ThrowIfNull( void* argument, [CallerArgumentExpression(nameof(argument))] string? paramName = null ) +#pragma warning restore S6640 // Make sure that using "unsafe" is safe here. { if (argument is null) { diff --git a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentNullExceptionPolyfillsTests.cs b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentNullExceptionPolyfillsTests.cs index 6ec56ba..2721882 100644 --- a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentNullExceptionPolyfillsTests.cs +++ b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentNullExceptionPolyfillsTests.cs @@ -52,7 +52,9 @@ public async Task ThrowIfNull_String_WhenArgumentIsNotNull_DoesNotThrow() } [Test] +#pragma warning disable S6640 // Make sure that using "unsafe" is safe here. public unsafe void ThrowIfNull_Pointer_WhenArgumentIsNull_ThrowsArgumentNullException() +#pragma warning restore S6640 // Make sure that using "unsafe" is safe here. { // Arrange int* argument = null; @@ -65,7 +67,9 @@ public unsafe void ThrowIfNull_Pointer_WhenArgumentIsNull_ThrowsArgumentNullExce } [Test] +#pragma warning disable S6640 // Make sure that using "unsafe" is safe here. public unsafe void ThrowIfNull_Pointer_WhenArgumentIsNotNull_DoesNotThrow() +#pragma warning restore S6640 // Make sure that using "unsafe" is safe here. { // Arrange var value = 42; diff --git a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNull.cs b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNull.cs index 8154b50..8dcf097 100644 --- a/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNull.cs +++ b/tests/NetEvolve.Arguments.Tests.Unit/ArgumentTests_ThrowIfNull.cs @@ -31,7 +31,9 @@ public async Task ThrowIfNull_WhenArgumentIsNotEmpty_ReturnsArgument() } [Test] +#pragma warning disable S6640 // Make sure that using "unsafe" is safe here. public unsafe void ThrowIfNull_WhenArgumentIsNullPointer_ThrowsArgumentNullException() +#pragma warning restore S6640 // Make sure that using "unsafe" is safe here. { // Arrange int* argument = null;