[htdig] PATCH: fix bug in htsearch POST method


Subject: [htdig] PATCH: fix bug in htsearch POST method
From: Gilles Detillieux (grdetil@scrc.umanitoba.ca)
Date: Fri Nov 12 1999 - 11:42:12 PST


This fixes a bug when dealing with very long parameters provided to htsearch
via the POST method. When the query to be read is very long (> 8K), the
read wouldn't get it all in one shot, leading to some very odd behaviour
down the line. This seems to fix PR#668.

--- htdig-3.1.3/htlib/cgi.cc.orig Wed Sep 1 15:25:02 1999
+++ htdig-3.1.3/htlib/cgi.cc Fri Nov 12 13:14:32 1999
@@ -74,8 +74,10 @@ cgi::cgi()
                 if (!buf || !*buf || (n = atoi(buf)) <= 0)
                         return; // null query
                 buf = new char[n + 1];
- read(0, buf, n);
- buf[n] = '\0';
+ int r, i = 0;
+ while (i < n && (r = read(0, buf+i, n-i)) > 0)
+ i += r;
+ buf[i] = '\0';
                 results = buf;
                 delete buf;
         }

-- 
Gilles R. Detillieux              E-mail: <grdetil@scrc.umanitoba.ca>
Spinal Cord Research Centre       WWW:    http://www.scrc.umanitoba.ca/~grdetil
Dept. Physiology, U. of Manitoba  Phone:  (204)789-3766
Winnipeg, MB  R3E 3J7  (Canada)   Fax:    (204)789-3930

------------------------------------ To unsubscribe from the htdig mailing list, send a message to htdig@htdig.org containing the single word unsubscribe in the SUBJECT of the message.



This archive was generated by hypermail 2b25 : Fri Nov 12 1999 - 11:52:54 PST