diff --git a/src/Ramstack.FileProviders/PrefixedFileProvider.cs b/src/Ramstack.FileProviders/PrefixedFileProvider.cs index f41edf8..f90dbfe 100644 --- a/src/Ramstack.FileProviders/PrefixedFileProvider.cs +++ b/src/Ramstack.FileProviders/PrefixedFileProvider.cs @@ -104,10 +104,9 @@ public void Dispose() => if (path == prefix) return "/"; - if (path.StartsWith(prefix, StringComparison.Ordinal)) - if ((uint)prefix.Length < (uint)path.Length) - if (path[prefix.Length] == '/') - return new string(path.AsSpan(prefix.Length)); + if ((uint)prefix.Length < (uint)path.Length) + if (path.StartsWith(prefix, StringComparison.Ordinal) && path[prefix.Length] == '/') + return new string(path.AsSpan(prefix.Length)); return null; } diff --git a/src/Ramstack.FileProviders/SubFileProvider.cs b/src/Ramstack.FileProviders/SubFileProvider.cs index 63a02e5..cd9bf95 100644 --- a/src/Ramstack.FileProviders/SubFileProvider.cs +++ b/src/Ramstack.FileProviders/SubFileProvider.cs @@ -49,7 +49,7 @@ public void Dispose() => private string ResolvePath(string subpath) { subpath = FilePath.Normalize(subpath); - if (subpath.Length == 0 || subpath == "/") + if (subpath == "/") return _path; return FilePath.Join(_path, subpath);