aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Hector Chavez <lhchavez@google.com>2018-09-24 13:34:09 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-09-24 13:34:09 -0700
commit773d104c470b9206ce291a8efb887355a94571ad (patch)
treef2247050ff5efef914d2f979a839adb1b783d122
parent55337a0b99e4cf7fc36eb713ac433f74942c486f (diff)
parent677900fb3a5fcde716e0a07e15365acc46d7356f (diff)
downloadminijail-773d104c470b9206ce291a8efb887355a94571ad.tar.gz
minijail: Handle cap_get_flag(3) failing with EINVAL
am: 677900fb3a Change-Id: I30df9fbf363f52372b4dca0f093a9a0f31b67716
-rw-r--r--minijail0_cli.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/minijail0_cli.c b/minijail0_cli.c
index ea66d7c..38e946f 100644
--- a/minijail0_cli.c
+++ b/minijail0_cli.c
@@ -94,6 +94,14 @@ static void use_caps(struct minijail *j, const char *arg)
for (i = 0; i <= last_valid_cap; ++i) {
if (cap_get_flag(parsed_caps, i, CAP_EFFECTIVE,
&cap_value)) {
+ if (errno == EINVAL) {
+ /*
+ * Some versions of libcap reject any
+ * capabilities they were not compiled
+ * with by returning EINVAL.
+ */
+ continue;
+ }
fprintf(stderr,
"Could not get the value of "
"the %d-th capability: %m\n",