summaryrefslogtreecommitdiff
path: root/libkeyutils/mini_keyctl_utils.cpp
diff options
context:
space:
mode:
authorVictor Hsieh <victorhsieh@google.com>2019-03-18 13:49:02 -0700
committerVictor Hsieh <victorhsieh@google.com>2019-03-18 13:57:05 -0700
commit0fb290bb8aa46b6cb5e8790be7fbcec0a00876a9 (patch)
tree1669eb88756706fd9e6936d932f110c4df429873 /libkeyutils/mini_keyctl_utils.cpp
parent582c7b9b829b3fe5b2b28efe3cb729d4fca76900 (diff)
mini-keyctl: use ParseInt to parse keys
- Valid ID format examples: 0x90a, 123 - ID like 90a will not work now. Bug: None Test: mini-keyctl unlink 0x11d25c86 0x2873c96d Change-Id: I057bce0a49a60f475d54b23e28dc18db25124466
Diffstat (limited to 'libkeyutils/mini_keyctl_utils.cpp')
-rw-r--r--libkeyutils/mini_keyctl_utils.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/libkeyutils/mini_keyctl_utils.cpp b/libkeyutils/mini_keyctl_utils.cpp
index 1c80ffb8e4..9fe2dfef1d 100644
--- a/libkeyutils/mini_keyctl_utils.cpp
+++ b/libkeyutils/mini_keyctl_utils.cpp
@@ -30,6 +30,7 @@
#include <android-base/file.h>
#include <android-base/logging.h>
+#include <android-base/parseint.h>
#include <android-base/properties.h>
#include <android-base/strings.h>
#include <keyutils.h>
@@ -53,12 +54,8 @@ static bool GetKeyringId(const std::string& keyring_desc, key_serial_t* keyring_
}
// If the keyring id is already a hex number, directly convert it to keyring id
- try {
- key_serial_t id = std::stoi(keyring_desc, nullptr, 16);
- *keyring_id = id;
+ if (android::base::ParseInt(keyring_desc.c_str(), keyring_id)) {
return true;
- } catch (const std::exception& e) {
- LOG(INFO) << "search /proc/keys for keyring id";
}
// Only keys allowed by SELinux rules will be shown here.