do case-insensitive comparison for lead_security_dependency
experiment
#10861
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
lead_security_dependency
experiment is downcasing only one half of the dependency name comparison resulting in closed PRs in an ecosystem where the current packages are reported with some upper case characters, e.g., NuGet reportingSystem.Text.Json
and that string not matchingsystem.text.json
. The result is that the comparison on line 155 is returningfalse
:dep.name.downcase == lead_dep_name
wherelead_dep_name
comes fromsecurity_advisory_dependency
. The NuGet example then expands to"system.text.json" == "System.Text.Json" # => false
.The fix is to restore the call to
.downcase
that is present when the experiment isn't enabled.