[cups.bugs] [HIGH] STR #2652: cgi_initialize_post() broken on OpenBSD 4.2

bill green bill.w.green at gmail.com
Sun Jan 6 05:33:01 PST 2008


DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Any operation that uses POST data hangs forever in
cgi_initialize_post().  Relevant code:

/*
  * Read the data into the buffer...
  */

  for (tbytes = 0; tbytes < length; tbytes += nbytes)
    if ((nbytes = read(0, data + tbytes, length - tbytes)) < 0)
      if (errno != EAGAIN)
      {
        free(data);
        return (0);
      }

  data[length] = '\0';

read() has no data and returns -1 with EAGAIN in errno.  The for loop
runs forever (and -1 is erroneously added to tbytes each time). 
This occurs using either Firefox or Safari.

Link: http://www.cups.org/str.php?L2652
Version: 1.3.5





More information about the cups-devel mailing list