Prevent ConcurrentModificationException on addFalseNegativeCPEs #3619
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.
Fixes Issue #3618
Description of Change
Started with a defensive copy, but preferred to gather the additions in a list instead to add all of them outside the loop that iterates over the already known vulnerableSoftwareIds.
If you have a good way to test that migration of the code to the hints rulebase is properly effective feel free to dispose of this and instead fix #3618 by removing the code and move its intended effect into the base-hints rulebase as already suggested in the existing TODO comment).
Without an ability (due to lack of access to opensso libraries) that hints that I create would trigger the desired detections I felt safer to extend the code to prevent the ConcurrentModificationException.
Scanned the source-code for calls to the getVulnerableSoftwareIdentifiers() method and did not spot any other potential ConcurrentModificationException for the set returned by that method.
Have test cases been added to cover the new functionality?
no