From cc065dba4416dcb3bef597040a143732fe659f1c Mon Sep 17 00:00:00 2001 From: Jeff Trawick Date: Wed, 30 Apr 2014 20:21:03 +0000 Subject: [PATCH] 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 --- modules/proxy/mod_proxy_fcgi.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) 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) { -- 2.40.0