diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2017-11-28 22:06:34 +0900 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-11-28 22:06:34 +0900 |
commit | e9c8fdf4faa84ccab92a78caa2fc899d3e42bcbe (patch) | |
tree | 39df3e0457dc77124a1238805160b8a6fc00022e /src/basic/cap-list.c | |
parent | 5660be16ab1f2a51ec2ee0190bca75914d6353bd (diff) |
cap-list: check range of numeric value
Diffstat (limited to 'src/basic/cap-list.c')
-rw-r--r-- | src/basic/cap-list.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/basic/cap-list.c b/src/basic/cap-list.c index 2e9b2d9a5..2b1779668 100644 --- a/src/basic/cap-list.c +++ b/src/basic/cap-list.c @@ -53,8 +53,12 @@ int capability_from_name(const char *name) { /* Try to parse numeric capability */ r = safe_atoi(name, &i); - if (r >= 0 && i >= 0) - return i; + if (r >= 0) { + if (i >= 0 && i < (int) ELEMENTSOF(capability_names)) + return i; + else + return -EINVAL; + } /* Try to parse string capability */ sc = lookup_capability(name, strlen(name)); |