Implement GetKeyCharacteristics.

Still need to add serialization to the messages.

Change-Id: I572c48474bf4d4f553d53cad475b57fa8937a02a
diff --git a/key_blob.cpp b/key_blob.cpp
index 101d158..1009e28 100644
--- a/key_blob.cpp
+++ b/key_blob.cpp
@@ -40,13 +40,15 @@
                  const keymaster_key_blob_t& master_key, uint8_t nonce[NONCE_LENGTH])
     : error_(KM_ERROR_OK), enforced_(enforced), unenforced_(unenforced), hidden_(hidden) {
     if (enforced_.is_valid() == AuthorizationSet::ALLOCATION_FAILURE ||
-        unenforced_.is_valid() == AuthorizationSet::ALLOCATION_FAILURE) {
+        unenforced_.is_valid() == AuthorizationSet::ALLOCATION_FAILURE ||
+        hidden_.is_valid() == AuthorizationSet::ALLOCATION_FAILURE) {
         error_ = KM_ERROR_MEMORY_ALLOCATION_FAILED;
         return;
     }
 
     if (enforced_.is_valid() != AuthorizationSet::OK ||
-        unenforced_.is_valid() != AuthorizationSet::OK) {
+        unenforced_.is_valid() != AuthorizationSet::OK ||
+        hidden_.is_valid() != AuthorizationSet::OK) {
         error_ = KM_ERROR_UNKNOWN_ERROR;
         return;
     }