return bool status from GetAuthTokenKey
Change-Id: Ic7b37bfc296a28bc95885b6582b703d489f8c5ff
diff --git a/gatekeeper.cpp b/gatekeeper.cpp
index 046eb3b..cae98e8 100644
--- a/gatekeeper.cpp
+++ b/gatekeeper.cpp
@@ -156,11 +156,13 @@
const uint8_t *auth_token_key = NULL;
uint32_t key_len = 0;
- GetAuthTokenKey(&auth_token_key, &key_len);
-
- uint32_t hash_len = (uint32_t)((uint8_t *)&token->hmac - (uint8_t *)token);
- ComputeSignature(token->hmac, sizeof(token->hmac), auth_token_key, key_len,
- reinterpret_cast<uint8_t *>(token), hash_len);
+ if (GetAuthTokenKey(&auth_token_key, &key_len)) {
+ uint32_t hash_len = (uint32_t)((uint8_t *)&token->hmac - (uint8_t *)token);
+ ComputeSignature(token->hmac, sizeof(token->hmac), auth_token_key, key_len,
+ reinterpret_cast<uint8_t *>(token), hash_len);
+ } else {
+ memset(token->hmac, 0, sizeof(token->hmac));
+ }
if (length != NULL) *length = sizeof(*token);
auth_token->reset(reinterpret_cast<uint8_t *>(token));