summaryrefslogtreecommitdiff
path: root/src/mscorlib/shared/System/IO/Path.Windows.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/mscorlib/shared/System/IO/Path.Windows.cs')
-rw-r--r--src/mscorlib/shared/System/IO/Path.Windows.cs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/mscorlib/shared/System/IO/Path.Windows.cs b/src/mscorlib/shared/System/IO/Path.Windows.cs
index d6f0c628c3..1e573cd95d 100644
--- a/src/mscorlib/shared/System/IO/Path.Windows.cs
+++ b/src/mscorlib/shared/System/IO/Path.Windows.cs
@@ -136,10 +136,14 @@ namespace System.IO
// path on the current drive), "X:" (a relative path on a given drive,
// where X is the drive letter), "X:\" (an absolute path on a given drive),
// and "\\server\share" (a UNC path for a given server and share name).
- // The resulting string is null if path is null.
+ // The resulting string is null if path is null. If the path is empty or
+ // only contains whitespace characters an ArgumentException gets thrown.
public static string GetPathRoot(string path)
{
if (path == null) return null;
+ if (string.IsNullOrWhiteSpace(path))
+ throw new ArgumentException(SR.Arg_PathIllegal, nameof(path));
+
PathInternal.CheckInvalidPathChars(path);
// Need to return the normalized directory separator