]> granicus.if.org Git - apache/commitdiff
Axe unnecessary memset() calls and allocating an extra
authorJeff Trawick <trawick@apache.org>
Wed, 30 Apr 2014 20:21:03 +0000 (20:21 +0000)
committerJeff Trawick <trawick@apache.org>
Wed, 30 Apr 2014 20:21:03 +0000 (20:21 +0000)
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

index 88fba31af11c2d88d9858e0ff8d1adbf9fd583bd..7efbfc8d86a862af583d1721236b3f4b5fe19abc 100644 (file)
@@ -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) {