Index: busybox-1.4.2/networking/httpd.c
===================================================================
--- busybox-1.4.2.orig/networking/httpd.c	2007-06-04 13:21:35.585566840 +0200
+++ busybox-1.4.2/networking/httpd.c	2007-06-04 13:21:35.775537960 +0200
@@ -1218,9 +1218,10 @@
 #if PIPESIZE >= MAX_MEMORY_BUFF
 # error "PIPESIZE >= MAX_MEMORY_BUFF"
 #endif
-			/* NB: was safe_read. If it *has to be* safe_read, */
-			/* please explain why in this comment... */
-			count = full_read(inFd, rbuf, PIPESIZE);
+			/* reverted back to safe_read, otherwise httpd may block if the */
+			/* cgi-script outputs page date before it has fully received all */
+			/* (eg POST) data */
+			count = safe_read(inFd, rbuf, PIPESIZE);
 			if (count == 0)
 				break;  /* closed */
 			if (count < 0)
