summaryrefslogtreecommitdiffstats
path: root/crypto/src
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2013-06-05 15:48:31 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-06-05 15:48:31 -0700
commitb41e0ee28cf20fbdacb9f034cffc3a5edfd42c04 (patch)
tree3a38a383169e5a7e54036dbee05876b8bff2c191 /crypto/src
parentc9d1392c2c5509519f46bf0c856bfbf7a217bca7 (diff)
parentaa1e1d6d989c7a659659f4fd20387cf67f11f64a (diff)
downloadlibcore-b41e0ee28cf20fbdacb9f034cffc3a5edfd42c04.zip
libcore-b41e0ee28cf20fbdacb9f034cffc3a5edfd42c04.tar.gz
libcore-b41e0ee28cf20fbdacb9f034cffc3a5edfd42c04.tar.bz2
am aa1e1d6d: Merge "NativeCrypto: handle X.509 serial number 0"
* commit 'aa1e1d6d989c7a659659f4fd20387cf67f11f64a': NativeCrypto: handle X.509 serial number 0
Diffstat (limited to 'crypto/src')
-rw-r--r--crypto/src/main/native/org_conscrypt_NativeCrypto.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/crypto/src/main/native/org_conscrypt_NativeCrypto.cpp b/crypto/src/main/native/org_conscrypt_NativeCrypto.cpp
index 9fff02c..62eda3e 100644
--- a/crypto/src/main/native/org_conscrypt_NativeCrypto.cpp
+++ b/crypto/src/main/native/org_conscrypt_NativeCrypto.cpp
@@ -752,8 +752,7 @@ static jbyteArray bignumToArray(JNIEnv* env, const BIGNUM* source, const char* s
return NULL;
}
- int len = BN_num_bytes(source) + 1;
- jbyteArray javaBytes = env->NewByteArray(len);
+ jbyteArray javaBytes = env->NewByteArray(BN_num_bytes(source) + 1);
ScopedByteArrayRW bytes(env, javaBytes);
if (bytes.get() == NULL) {
JNI_TRACE("bignumToArray(%p, %s) => NULL", source, sourceName);
@@ -769,7 +768,7 @@ static jbyteArray bignumToArray(JNIEnv* env, const BIGNUM* source, const char* s
*tmp = 0x00;
}
- if (BN_bn2bin(source, tmp + 1) <= 0) {
+ if (BN_num_bytes(source) > 0 && BN_bn2bin(source, tmp + 1) <= 0) {
throwExceptionIfNecessary(env, "bignumToArray");
return NULL;
}