Commit edec2a3b authored by Adam Langley's avatar Adam Langley Committed by Commit Bot

cablev2: treat null arrays as empty.

When a GMSCore FIDO operation fails, it'll return a non-zero status and
null for the other parameters. This change causes the null byte arrays
to be translated into empty spans rather than crashing.

BUG=1002262

Change-Id: Idc3cb81e4ef17216634677e1d595b7357f2fb70e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2463807
Commit-Queue: Adam Langley <agl@chromium.org>
Reviewed-by: default avatarMartin Kreichgauer <martinkr@google.com>
Cr-Commit-Position: refs/heads/master@{#816602}
parent f2842608
...@@ -77,6 +77,10 @@ NewState() { ...@@ -77,6 +77,10 @@ NewState() {
base::span<const uint8_t> JavaByteArrayToSpan( base::span<const uint8_t> JavaByteArrayToSpan(
JNIEnv* env, JNIEnv* env,
const JavaParamRef<jbyteArray>& data) { const JavaParamRef<jbyteArray>& data) {
if (data.is_null()) {
return base::span<const uint8_t>();
}
const size_t data_len = env->GetArrayLength(data); const size_t data_len = env->GetArrayLength(data);
const jbyte* data_bytes = env->GetByteArrayElements(data, /*iscopy=*/nullptr); const jbyte* data_bytes = env->GetByteArrayElements(data, /*iscopy=*/nullptr);
return base::as_bytes(base::make_span(data_bytes, data_len)); return base::as_bytes(base::make_span(data_bytes, data_len));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment