]> granicus.if.org Git - python/commitdiff
SF bug #430160: CGIHTTPServer.py POST bug using IE
authorRaymond Hettinger <python@rcn.com>
Sun, 29 Jun 2003 05:06:56 +0000 (05:06 +0000)
committerRaymond Hettinger <python@rcn.com>
Sun, 29 Jun 2003 05:06:56 +0000 (05:06 +0000)
Minor improvement to previous bugfix.
Eating the remaining characters would lead to an endless loop
without a termination test.

Lib/CGIHTTPServer.py

index f14ebba7a39117127c79a2c1964734eae62c7719..437ee80fcc2cf962718bd87703813a81121a9b19 100644 (file)
@@ -202,7 +202,8 @@ class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
                 pid, sts = os.waitpid(pid, 0)
                 # throw away additional data [see bug #427345]
                 while select.select([self.rfile], [], [], 0)[0]:
-                    waste = self.rfile.read(1)
+                    if not self.rfile.read(1):
+                        break
                 if sts:
                     self.log_error("CGI script exit status %#x", sts)
                 return
@@ -250,7 +251,8 @@ class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
                 fi.write(data)
             # throw away additional data [see bug #427345]
             while select.select([self.rfile._sock], [], [], 0)[0]:
-                waste = self.rfile._sock.recv(1)
+                if not self.rfile._sock.recv(1):
+                    break
             fi.close()
             shutil.copyfileobj(fo, self.wfile)
             if self.have_popen3: