mini-keyctl: fix key id parsing by "0x" prefix
Otherwise, ParseInt treats the input as decimal and fails. Test: add key works Bug: None Change-Id: I144ab0bba519c7630e702562bfb54118a389908e
This commit is contained in:
parent
b142458ab3
commit
17aaee2f05
|
@ -67,7 +67,7 @@ static key_serial_t GetKeyringIdOrDie(const std::string& keyring_desc) {
|
|||
if (tokens.size() < 9) {
|
||||
continue;
|
||||
}
|
||||
std::string key_id = tokens[0];
|
||||
std::string key_id = "0x" + tokens[0];
|
||||
std::string key_type = tokens[7];
|
||||
// The key description may contain space.
|
||||
std::string key_desc_prefix = tokens[8];
|
||||
|
@ -77,7 +77,7 @@ static key_serial_t GetKeyringIdOrDie(const std::string& keyring_desc) {
|
|||
continue;
|
||||
}
|
||||
if (!android::base::ParseInt(key_id.c_str(), &keyring_id)) {
|
||||
error(1, 0, "Unexpected key format in /proc/keys");
|
||||
error(1, 0, "Unexpected key format in /proc/keys: %s", key_id.c_str());
|
||||
return -1;
|
||||
}
|
||||
return keyring_id;
|
||||
|
|
Loading…
Reference in New Issue