Skip to content

Commit d5ac199

Browse files
CopilotMihaZupan
andauthored
Add null validation for relativeUri in Uri(Uri, Uri) constructor (#123134)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: MihaZupan <25307628+MihaZupan@users.noreply.github.com>
1 parent f71826b commit d5ac199

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/libraries/System.Private.Uri/src/System/Uri.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,7 @@ private void CreateUri(Uri baseUri, string? relativeUri, bool dontEscape)
595595
public Uri(Uri baseUri, Uri relativeUri)
596596
{
597597
ArgumentNullException.ThrowIfNull(baseUri);
598+
ArgumentNullException.ThrowIfNull(relativeUri);
598599

599600
if (!baseUri.IsAbsoluteUri)
600601
throw new ArgumentOutOfRangeException(nameof(baseUri));

src/libraries/System.Private.Uri/tests/FunctionalTests/UriParameterValidationTest.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Licensed to the .NET Foundation under one or more agreements.
22
// The .NET Foundation licenses this file to you under the MIT license.
33

4+
using System.Tests;
45
using Xunit;
56

67
namespace System.PrivateUri.Tests
@@ -32,5 +33,12 @@ public void Uri_IsBaseOf_NullParameter_ThrowsArgumentException()
3233
Uri baseUri = new Uri("http://localhost/");
3334
Assert.Throws<ArgumentNullException>(() => baseUri.IsBaseOf((Uri)null));
3435
}
36+
37+
[Fact]
38+
public void Uri_Ctor_NullRelativeUri_ThrowsArgumentNullException()
39+
{
40+
Uri baseUri = new Uri("http://localhost/");
41+
AssertExtensions.Throws<ArgumentNullException>("relativeUri", () => new Uri(baseUri, (Uri)null));
42+
}
3543
}
3644
}

0 commit comments

Comments
 (0)