Skip to content

Commit 7ebc8b5

Browse files
committed
fix: use FirstOrDefault instead of foreach+if in FindDocumentByBaseUri
Addresses CodeQL feedback. Also resolves merge conflict with #2918 (RegisterSchemaIdentifiers + RegisterAnchors called together).
1 parent 204c63b commit 7ebc8b5

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

src/Microsoft.OpenApi/Services/OpenApiWorkspace.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -662,12 +662,10 @@ private void RegisterAnchor(OpenApiDocument document, string anchorName, IOpenAp
662662
internal OpenApiDocument? FindDocumentByBaseUri(string documentUri)
663663
{
664664
if (!Uri.TryCreate(documentUri, UriKind.Absolute, out var uri)) return null;
665-
if (_dynamicAnchorRegistryByDocument is not null)
666-
foreach (var doc in _dynamicAnchorRegistryByDocument.Keys)
667-
if (doc.BaseUri == uri) return doc;
668-
if (_anchorRegistryByDocument is not null)
669-
foreach (var doc in _anchorRegistryByDocument.Keys)
670-
if (doc.BaseUri == uri) return doc;
665+
if (_dynamicAnchorRegistryByDocument?.Keys.FirstOrDefault(doc => doc.BaseUri == uri) is { } dynMatch)
666+
return dynMatch;
667+
if (_anchorRegistryByDocument?.Keys.FirstOrDefault(doc => doc.BaseUri == uri) is { } anchorMatch)
668+
return anchorMatch;
671669
return null;
672670
}
673671

0 commit comments

Comments
 (0)