2007-02-11 22:30:48 +02:00
|
|
|
diff -ur busybox.old/networking/httpd.c busybox.dev/networking/httpd.c
|
|
|
|
--- busybox.old/networking/httpd.c 2007-02-10 16:36:50.950661000 +0100
|
|
|
|
+++ busybox.dev/networking/httpd.c 2007-02-11 21:24:52.026742384 +0100
|
|
|
|
@@ -1211,9 +1211,10 @@
|
2007-02-11 22:17:04 +02:00
|
|
|
#if PIPESIZE >= MAX_MEMORY_BUFF
|
|
|
|
# error "PIPESIZE >= MAX_MEMORY_BUFF"
|
|
|
|
#endif
|
2007-02-11 22:30:48 +02:00
|
|
|
- /* 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)
|