system/gatekeeper: use proper nativehelper headers
am: 05b35791c3
Change-Id: Ie40f09d59ca910295814a3f3bbcdead428055e42
diff --git a/gatekeeper.cpp b/gatekeeper.cpp
index 76fc8d6..f9024d3 100644
--- a/gatekeeper.cpp
+++ b/gatekeeper.cpp
@@ -181,9 +181,15 @@
password_handle->hardware_backed = IsHardwareBacked();
uint32_t metadata_length = sizeof(user_id) + sizeof(flags) + sizeof(HANDLE_VERSION);
- uint8_t to_sign[password_length + metadata_length];
- memcpy(to_sign, password_handle, metadata_length);
- memcpy(to_sign + metadata_length, password, password_length);
+ const size_t to_sign_size = password_length + metadata_length;
+ UniquePtr<uint8_t> to_sign(new uint8_t[to_sign_size]);
+
+ if (to_sign.get() == nullptr) {
+ return false;
+ }
+
+ memcpy(to_sign.get(), password_handle, metadata_length);
+ memcpy(to_sign.get() + metadata_length, password, password_length);
const uint8_t *password_key = NULL;
uint32_t password_key_length = 0;
@@ -194,7 +200,7 @@
}
ComputePasswordSignature(password_handle->signature, sizeof(password_handle->signature),
- password_key, password_key_length, to_sign, sizeof(to_sign), salt);
+ password_key, password_key_length, to_sign.get(), to_sign_size, salt);
return true;
}