From 6425277b218ceea473baf453e3bfc632a0f518d9 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Tue, 7 Apr 2015 13:11:55 -0700 Subject: Fix load_policy error reporting. Also switch to xopen for O_CLOEXEC paranoia and to avoid a conditional. Change-Id: Iee5c4c124bcac800313f586768ffcaade542bd22 --- toys/android/load_policy.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'toys/android') diff --git a/toys/android/load_policy.c b/toys/android/load_policy.c index aa59f36c..84967360 100644 --- a/toys/android/load_policy.c +++ b/toys/android/load_policy.c @@ -20,18 +20,13 @@ config LOAD_POLICY void load_policy_main(void) { char *path = *toys.optargs; - char *policy_data = 0; - off_t policy_len; - int fd; - - if ((fd = open(path, O_RDONLY)) != -1) { - policy_len = fdlength(fd); - policy_data = mmap(0, policy_len, PROT_READ, MAP_PRIVATE, fd, 0); - close(fd); - } + int fd = xopen(path, O_RDONLY); + off_t policy_len = fdlength(fd); + char *policy_data = mmap(0, policy_len, PROT_READ, MAP_PRIVATE, fd, 0); + close(fd); if (!policy_data || security_load_policy(policy_data, policy_len) < 0) - perror_exit("Couldn't %s %s: %s", policy_data ? "load" : "read", path); + perror_exit("Couldn't %s %s", policy_data ? "load" : "read", path); munmap(policy_data, policy_len); } -- cgit v1.2.3