diff options
author | Pete Bentley <44170157+prbprbprb@users.noreply.github.com> | 2021-07-30 13:22:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-30 13:22:40 +0100 |
commit | c014ecc27406d3a54fb105b34e42a2d4fe2f4c08 (patch) | |
tree | b9692200f8ab884707dfca0402dfa64c3a79ec96 | |
parent | 2b56c886a1e5f1bd60bb1f899fbe6237dc15fc9e (diff) | |
download | conscrypt-c014ecc27406d3a54fb105b34e42a2d4fe2f4c08.tar.gz |
Fix CheckJNI error (#1027)
Don't try to allocate a String in NativeCrypto_SSL_CIPHER_get_kx_name
after to_SSL_CIPHER throws a Java exception.
-rw-r--r-- | common/src/jni/main/cpp/conscrypt/native_crypto.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/common/src/jni/main/cpp/conscrypt/native_crypto.cc b/common/src/jni/main/cpp/conscrypt/native_crypto.cc index 3d869d7a..db1e8896 100644 --- a/common/src/jni/main/cpp/conscrypt/native_crypto.cc +++ b/common/src/jni/main/cpp/conscrypt/native_crypto.cc @@ -9422,11 +9422,12 @@ static jlong NativeCrypto_d2i_SSL_SESSION(JNIEnv* env, jclass, jbyteArray javaBy static jstring NativeCrypto_SSL_CIPHER_get_kx_name(JNIEnv* env, jclass, jlong cipher_address) { CHECK_ERROR_QUEUE_ON_RETURN; - const SSL_CIPHER* cipher = to_SSL_CIPHER(env, cipher_address, true); - const char* kx_name = nullptr; - - kx_name = SSL_CIPHER_get_kx_name(cipher); + const SSL_CIPHER* cipher = to_SSL_CIPHER(env, cipher_address, /*throwIfNull=*/true); + if (cipher == nullptr) { + return nullptr; + } + const char* kx_name = SSL_CIPHER_get_kx_name(cipher); return env->NewStringUTF(kx_name); } |