Add O_CLOEXEC to lots of open() calls.

and other related fixups.

Change-Id: Ia88fb37a07ff6777d00c49800081f5a519c0c78d
diff --git a/init/util.c b/init/util.c
index e1a3ee3..8f27ee9 100644
--- a/init/util.c
+++ b/init/util.c
@@ -155,7 +155,7 @@
     struct stat sb;
 
     data = 0;
-    fd = open(fn, O_RDONLY);
+    fd = open(fn, O_RDONLY|O_CLOEXEC);
     if(fd < 0) return 0;
 
     // for security reasons, disallow world-writable
@@ -207,7 +207,7 @@
     ssize_t pmtdsize;
     int r;
 
-    fd = open("/proc/mtd", O_RDONLY);
+    fd = open("/proc/mtd", O_RDONLY|O_CLOEXEC);
     if (fd < 0)
         return;
 
@@ -416,7 +416,7 @@
     if (hardware[0])
         return;
 
-    fd = open(cpuinfo, O_RDONLY);
+    fd = open(cpuinfo, O_RDONLY | O_CLOEXEC);
     if (fd < 0) return;
 
     for (;;) {
@@ -479,7 +479,7 @@
     char *ptr;
     int fd;
 
-    fd = open("/proc/cmdline", O_RDONLY);
+    fd = open("/proc/cmdline", O_RDONLY | O_CLOEXEC);
     if (fd >= 0) {
         int n = read(fd, cmdline, sizeof(cmdline) - 1);
         if (n < 0) n = 0;