|
@@ -1,27 +0,0 @@
|
|
---- busybox-1.9.1/init/init.c Tue Feb 12 17:03:12 2008
|
|
|
|
-+++ busybox-1.9.1-init/init/init.c Mon Mar 17 14:19:41 2008
|
|
|
|
-@@ -225,8 +225,22 @@
|
|
|
|
- }
|
|
|
|
- messageD(L_LOG, "console='%s'", s);
|
|
|
|
- } else {
|
|
|
|
-- /* Make sure fd 0,1,2 are not closed */
|
|
|
|
-- bb_sanitize_stdio();
|
|
|
|
-+ /* Make sure fd 0,1,2 are not closed
|
|
|
|
-+ * (so that they won't be used by future opens) */
|
|
|
|
-+
|
|
|
|
-+ /* bb_sanitize_stdio(); - WRONG.
|
|
|
|
-+ * Fail if "/dev/null" doesnt exist, and for init
|
|
|
|
-+ * this is a real possibility! Open code it instead. */
|
|
|
|
-+
|
|
|
|
-+ int fd = open(bb_dev_null, O_RDWR);
|
|
|
|
-+ if (fd < 0) {
|
|
|
|
-+ /* Give me _ANY_ open descriptor! */
|
|
|
|
-+ fd = xopen("/", O_RDONLY); /* we don't believe this can fail */
|
|
|
|
-+ }
|
|
|
|
-+ while ((unsigned)fd < 2)
|
|
|
|
-+ fd = dup(fd);
|
|
|
|
-+ if (fd > 2)
|
|
|
|
-+ close (fd);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- s = getenv("TERM");
|
|
|