openwrt-owl/package/busybox/patches/420-httpd_sendcgi_fix.patch

19 lines
791 B
Diff

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)