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)