aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2017-01-17 19:29:00 -0500
committerJorge Lucangeli Obes <jorgelo@google.com>2017-01-19 11:20:32 -0500
commit404d2bb02680f9f433dbe9c71f87bf1f003bf495 (patch)
tree55e5d2fd84b2c2e4d24b3795d4520cbf594a83f3
parent3ba81577de768c0f0edfd087858c81168d6fc615 (diff)
downloadminijail-404d2bb02680f9f433dbe9c71f87bf1f003bf495.tar.gz
util: add an ARRAY_SIZE helper.
Bug: None Test: `make tests` pass Change-Id: Iecd2015b7ff96cdd78ff61c905ad065e272c2885
-rw-r--r--examples/drop_privs.cpp3
-rw-r--r--test/libminijail_test.cpp3
-rw-r--r--util.c2
-rw-r--r--util.h2
4 files changed, 7 insertions, 3 deletions
diff --git a/examples/drop_privs.cpp b/examples/drop_privs.cpp
index d2b0e17..d925aa3 100644
--- a/examples/drop_privs.cpp
+++ b/examples/drop_privs.cpp
@@ -19,6 +19,7 @@
#include <libminijail.h>
#include <android-base/logging.h>
+#include <android-base/macros.h>
gid_t groups[] = { 1001, 1002 };
@@ -56,7 +57,7 @@ int main(void) {
minijail *j = minijail_new();
minijail_change_user(j, "system");
minijail_change_group(j, "system");
- minijail_set_supplementary_gids(j, sizeof(groups) / sizeof(groups[0]), groups);
+ minijail_set_supplementary_gids(j, arraysize(groups), groups);
// minijail_use_caps(j, CAP_TO_MASK(CAP_SETUID) | CAP_TO_MASK(CAP_SETGID));
// minijail_use_seccomp_filter(j);
// minijail_log_seccomp_filter_failures(j);
diff --git a/test/libminijail_test.cpp b/test/libminijail_test.cpp
index 6499a37..e457c24 100644
--- a/test/libminijail_test.cpp
+++ b/test/libminijail_test.cpp
@@ -19,6 +19,7 @@
#include <libminijail.h>
#include <android-base/logging.h>
+#include <android-base/macros.h>
const uid_t kSystemUid = 1000U;
@@ -114,7 +115,7 @@ int main(void) {
minijail* j = minijail_new();
minijail_change_user(j, "system");
minijail_change_group(j, "system");
- size_t num_groups = sizeof(groups) / sizeof(groups[0]);
+ size_t num_groups = arraysize(groups);
minijail_set_supplementary_gids(j, num_groups, groups);
minijail_use_caps(j, CAP_TO_MASK(CAP_SETUID) | CAP_TO_MASK(CAP_SETGID));
minijail_enter(j);
diff --git a/util.c b/util.c
index 58f627b..d91d068 100644
--- a/util.c
+++ b/util.c
@@ -64,7 +64,7 @@ const char *log_syscalls[] = {"connect", "send"};
#error "Unsupported platform"
#endif
-const size_t log_syscalls_len = sizeof(log_syscalls)/sizeof(log_syscalls[0]);
+const size_t log_syscalls_len = ARRAY_SIZE(log_syscalls);
int lookup_syscall(const char *name)
{
diff --git a/util.h b/util.h
index d63590e..f019f00 100644
--- a/util.h
+++ b/util.h
@@ -35,6 +35,8 @@ extern "C" {
#define info(_msg, ...) \
syslog(LOG_INFO, "libminijail[%d]: " _msg, getpid(), ## __VA_ARGS__)
+#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
+
extern const char *log_syscalls[];
extern const size_t log_syscalls_len;