Correctly detect when allocation fails and return correct #67
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.
value
Motivation:
The
BoringSSL
class handles the Java->Native (BoringSSL) calls. InEVP_HPKE_CTX_new_or_throw
it checks to ensure that a newEVP_HPKE_CTX
is properly allocated (in the native heap) and that a pointer to it is returned. However, it checks this value against-1
when a failure of theEVP_HPKE_CTX_new()
native method (from BoringSSL) return aNULL
(or0
) upon failure, not a-1
. This means that a failed context creation will result in aNULL
pointer being return and later dereferenced by native code. The same problem exists for EVP_HPKE_CTX_new().Modifications:
Detect NULL and return -1 so we correctly handle it in the java layer
Result:
No more possible dereferencing of NULL pointer