From be36fc319e0e0da9bbedc9a407e43a6ef121c644 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Mon, 17 Mar 2008 19:44:43 +0000 Subject: busybox: additional 1.9.1 patches --- package/busybox/busybox-1.9.1-httpd-POST.patch | 11 +++++++++++ package/busybox/busybox-1.9.1-init.patch | 27 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 package/busybox/busybox-1.9.1-httpd-POST.patch create mode 100644 package/busybox/busybox-1.9.1-init.patch diff --git a/package/busybox/busybox-1.9.1-httpd-POST.patch b/package/busybox/busybox-1.9.1-httpd-POST.patch new file mode 100644 index 000000000..6a70c8255 --- /dev/null +++ b/package/busybox/busybox-1.9.1-httpd-POST.patch @@ -0,0 +1,11 @@ +--- busybox-1.9.1/networking/httpd.c Tue Feb 12 17:03:01 2008 ++++ busybox-1.9.1-httpd-POST/networking/httpd.c Mon Mar 17 13:58:09 2008 +@@ -1950,7 +1950,7 @@ + if ((STRNCASECMP(iobuf, "Content-length:") == 0)) { + /* extra read only for POST */ + if (prequest != request_GET) { +- tptr = iobuf + sizeof("Content-length:") - 1; ++ tptr = tptr = skip_whitespace(iobuf + sizeof("Content-length:") - 1); + if (!tptr[0]) + send_headers_and_exit(HTTP_BAD_REQUEST); + errno = 0; diff --git a/package/busybox/busybox-1.9.1-init.patch b/package/busybox/busybox-1.9.1-init.patch new file mode 100644 index 000000000..be86cbe2f --- /dev/null +++ b/package/busybox/busybox-1.9.1-init.patch @@ -0,0 +1,27 @@ +--- 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"); -- cgit v1.2.3