[Toybox] [PATCH] Fix load_policy error reporting.

enh enh at google.com
Sat Mar 28 13:16:15 PDT 2015


Fix load_policy error reporting.

Also switch to xopen for O_CLOEXEC paranoia and to avoid a conditional.

diff --git a/toys/android/load_policy.c b/toys/android/load_policy.c
index aa59f36..8496736 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);
 }

 1427573775.0


More information about the Toybox mailing list