Add 1 byte for the NULL char. This bug was causing CTS failures and stack corruption for Mips.
Change-Id: Ib7e8eb0e79ee55fffb8cf36371688ba544734029
Signed-off-by: Douglas Leung <douglas@mips.com>
diff --git a/keystore/keystore.cpp b/keystore/keystore.cpp
index 9b08398..2859caf 100644
--- a/keystore/keystore.cpp
+++ b/keystore/keystore.cpp
@@ -905,19 +905,19 @@
}
android::String8 getKeyName(const android::String8& keyName) {
- char encoded[encode_key_length(keyName)];
+ char encoded[encode_key_length(keyName) + 1]; // add 1 for null char
encode_key(encoded, keyName);
return android::String8(encoded);
}
android::String8 getKeyNameForUid(const android::String8& keyName, uid_t uid) {
- char encoded[encode_key_length(keyName)];
+ char encoded[encode_key_length(keyName) + 1]; // add 1 for null char
encode_key(encoded, keyName);
return android::String8::format("%u_%s", uid, encoded);
}
android::String8 getKeyNameForUidWithDir(const android::String8& keyName, uid_t uid) {
- char encoded[encode_key_length(keyName)];
+ char encoded[encode_key_length(keyName) + 1]; // add 1 for null char
encode_key(encoded, keyName);
return android::String8::format("%s/%u_%s", getUserState(uid)->getUserDirName(), uid,
encoded);