diff -urN busybox-1.7.2/networking/httpd.c busybox-1.7.2-httpd/networking/httpd.c
--- busybox-1.7.2/networking/httpd.c	2007-09-30 00:54:12.000000000 +0100
+++ busybox-1.7.2-httpd/networking/httpd.c	2007-10-17 16:22:22.000000000 +0100
@@ -1186,6 +1186,9 @@
 	 * and send it to the peer. So please no SIGPIPEs! */
 	signal(SIGPIPE, SIG_IGN);
 
+	/* Accound for POSTDATA already in hdr_buf */
+	bodyLen -= hdr_cnt;
+
 	/* This loop still looks messy. What is an exit criteria?
 	 * "CGI's output closed"? Or "CGI has exited"?
 	 * What to do if CGI has closed both input and output, but
