-const char jcc_rcs[] = "$Id: jcc.c,v 1.229 2009/03/07 11:17:01 fabiankeil Exp $";
+const char jcc_rcs[] = "$Id: jcc.c,v 1.231 2009/03/08 14:19:23 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/jcc.c,v $
*
* Revisions :
* $Log: jcc.c,v $
+ * Revision 1.231 2009/03/08 14:19:23 fabiankeil
+ * Fix justified (but harmless) compiler warnings
+ * on platforms where sizeof(int) < sizeof(long).
+ *
+ * Revision 1.230 2009/03/07 13:09:17 fabiankeil
+ * Change csp->expected_content and_csp->expected_content_length from
+ * size_t to unsigned long long to reduce the likelihood of integer
+ * overflows that would let us close the connection prematurely.
+ * Bug found while investigating #2669131, reported by cyberpatrol.
+ *
* Revision 1.229 2009/03/07 11:17:01 fabiankeil
* Fix compiler warning.
*
struct timeval timeout;
memset(buf, 0, sizeof(buf));
- memset(&timeout, 0, sizeof(timeout));
- timeout.tv_sec = csp->config->socket_timeout;
http = csp->http;
}
#endif /* FEATURE_CONNECTION_KEEP_ALIVE */
+ timeout.tv_sec = csp->config->socket_timeout;
+ timeout.tv_usec = 0;
n = select((int)maxfd+1, &rfds, NULL, NULL, &timeout);
if (n == 0)
* Since we have to wait for more from the server before
* we can parse the headers we just continue here.
*/
- int header_offset = csp->iob->cur - header_start;
+ long header_offset = csp->iob->cur - header_start;
assert(csp->iob->cur >= header_start);
byte_count += (unsigned long long)(len - header_offset);
log_error(LOG_LEVEL_CONNECT, "Continuing buffering headers. "
* XXX: the header lenght should probably
* be calculated by get_server_headers().
*/
- int header_length = csp->iob->cur - header_start;
+ long header_length = csp->iob->cur - header_start;
assert(csp->iob->cur > header_start);
byte_count += (unsigned long long)(len - header_length);
}