Fix keyname generation issue The keyname binded to keyring return a wrong string when there are binary char larger than 127, the sign extension will introduce unexpect FFFFFF string to the keyname. Bug: 65423023 Test: local build with boot test and device encryption status check. Change-Id: I26482c98ac1858a63b9f5c3f84a8699fd6a21cd7 Signed-off-by: Ai, Ting A <[email protected]> Signed-off-by: Chen, Luhai <[email protected]>
diff --git a/KeyUtil.cpp b/KeyUtil.cpp index 7bbbf01..dbc73c1 100644 --- a/KeyUtil.cpp +++ b/KeyUtil.cpp
@@ -98,7 +98,7 @@ static std::string keyname(const std::string& prefix, const std::string& raw_ref) { std::ostringstream o; o << prefix << ":"; - for (auto i : raw_ref) { + for (unsigned char i : raw_ref) { o << std::hex << std::setw(2) << std::setfill('0') << (int)i; } return o.str();