From: Jeff Trawick Date: Wed, 30 Apr 2014 20:21:03 +0000 (+0000) Subject: Axe unnecessary memset() calls and allocating an extra X-Git-Tag: 2.5.0-alpha~4226 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cc065dba4416dcb3bef597040a143732fe659f1c;p=apache Axe unnecessary memset() calls and allocating an extra byte in an I/O buffer for '\0', which hasn't been needed since a strstr("\r\n\r\n") was removed in r371428. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1591472 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/mod_proxy_fcgi.c b/modules/proxy/mod_proxy_fcgi.c index 88fba31af1..7efbfc8d86 100644 --- a/modules/proxy/mod_proxy_fcgi.c +++ b/modules/proxy/mod_proxy_fcgi.c @@ -485,19 +485,13 @@ static apr_status_t dispatch(proxy_conn_rec *conn, proxy_dir_conf *conf, } if (pfd.rtnevents & APR_POLLIN) { - /* readbuf has one byte on the end that is always 0, so it's - * able to work with a strstr when we search for the end of - * the headers, even if we fill the entire length in the recv. */ - char readbuf[AP_IOBUFSIZE + 1]; + char readbuf[AP_IOBUFSIZE]; apr_size_t readbuflen; apr_uint16_t clen, rid; apr_bucket *b; unsigned char plen; unsigned char type, version; - memset(readbuf, 0, sizeof(readbuf)); - memset(farray, 0, sizeof(farray)); - /* First, we grab the header... */ rv = get_data_full(conn, (char *) farray, AP_FCGI_HEADER_LEN); if (rv != APR_SUCCESS) { @@ -530,8 +524,8 @@ static apr_status_t dispatch(proxy_conn_rec *conn, proxy_dir_conf *conf, } recv_again: - if (clen > sizeof(readbuf) - 1) { - readbuflen = sizeof(readbuf) - 1; + if (clen > sizeof(readbuf)) { + readbuflen = sizeof(readbuf); } else { readbuflen = clen; } @@ -544,7 +538,6 @@ recv_again: if (rv != APR_SUCCESS) { break; } - readbuf[readbuflen] = 0; } switch (type) {