Fix a probable a null pointer exception #1907
Open
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.
In file
ExtendedPKIXParameters.java
, inside methodsetTrustedACIssuers
, there is a potential null pointer dereference. This is because a method is called on an object just after checking that the object is null.bc-java/prov/src/main/jdk1.3/org/bouncycastle/x509/ExtendedPKIXParameters.java
Line 502 in ada71e4
This is perhaps done by mistake. The bug was not triggered before, because the
setTrustedACIssuers
method was never called with a nullSet
in the code or in the test cases. It also appears as not intended to throw a null pointer exception deliberately. This is because JavaDoc comments note that the method may throw aClassCastException
, but the comments do not mention any null pointer exception. The JavaDoc says that the formal parameter should not be null, but there are no enforcement of that, and if someone wants to send a null, there is a null pointer exception.This awkward code should be removed. The pull request suggests that removal.
Sponsorship and Support:
This work is done by the security researchers from OpenRefactory and is supported by the Open Source Security Foundation (OpenSSF): Project Alpha-Omega. Alpha-Omega is a project partnering with open source software project maintainers to systematically find new, as-yet-undiscovered vulnerabilities in open source code - and get them fixed – to improve global software supply chain security.
The bug is found by running the Intelligent Code Repair (iCR) tool by OpenRefactory and then manually triaging the results.