From: Christophe Jaillet Date: Sun, 22 Apr 2018 19:36:41 +0000 (+0000) Subject: Save a few cycles. X-Git-Tag: 2.5.0-alpha2-ci-test-only~2657 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74d88f74dae59834b16abd33c19f254b1f17dc21;p=thirdparty%2Fapache%2Fhttpd.git Save a few cycles. We already know the length of the string we want to copy, so use 'apr_pstrmemdup()' instead of 'apr_strdup()'. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1829799 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/util.c b/server/util.c index 5ec8f8e6e0e..38ed346ce15 100644 --- a/server/util.c +++ b/server/util.c @@ -2849,12 +2849,11 @@ AP_DECLARE(int) ap_parse_form_data(request_rec *r, ap_filter_t *f, case FORM_NAME: if (offset < HUGE_STRING_LEN) { if ('=' == c) { - buffer[offset] = 0; - offset = 0; pair = (ap_form_pair_t *) apr_array_push(pairs); - pair->name = apr_pstrdup(r->pool, buffer); + pair->name = apr_pstrmemdup(r->pool, buffer, offset); pair->value = apr_brigade_create(r->pool, r->connection->bucket_alloc); state = FORM_VALUE; + offset = 0; } else { buffer[offset++] = c;