From: Yann Ylavic Date: Fri, 22 Apr 2022 12:14:01 +0000 (+0000) Subject: ab: apr_base64_encode already NUL-terminate the output. X-Git-Tag: 2.5.0-alpha2-ci-test-only~370 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6c0306cecae198d7161b47eaa34e80d87812b17;p=thirdparty%2Fapache%2Fhttpd.git ab: apr_base64_encode already NUL-terminate the output. And returns the length including the trailing \0, so setting it at that length is off by +1. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1900152 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/support/ab.c b/support/ab.c index b9c055eec2f..d7b6938849a 100644 --- a/support/ab.c +++ b/support/ab.c @@ -2413,7 +2413,6 @@ static apr_status_t open_postfile(const char *pfile) /* sort out command-line args and call test */ int main(int argc, const char * const argv[]) { - int l; char tmp[1024]; apr_status_t status; apr_getopt_t *opt; @@ -2563,8 +2562,7 @@ int main(int argc, const char * const argv[]) if (apr_base64_encode_len(strlen(opt_arg)) > sizeof(tmp)) { err("Authentication credentials too long\n"); } - l = apr_base64_encode(tmp, opt_arg, strlen(opt_arg)); - tmp[l] = '\0'; + apr_base64_encode(tmp, opt_arg, strlen(opt_arg)); auth = apr_pstrcat(cntxt, auth, "Authorization: Basic ", tmp, "\r\n", NULL); @@ -2578,8 +2576,7 @@ int main(int argc, const char * const argv[]) if (apr_base64_encode_len(strlen(opt_arg)) > sizeof(tmp)) { err("Proxy credentials too long\n"); } - l = apr_base64_encode(tmp, opt_arg, strlen(opt_arg)); - tmp[l] = '\0'; + apr_base64_encode(tmp, opt_arg, strlen(opt_arg)); auth = apr_pstrcat(cntxt, auth, "Proxy-Authorization: Basic ", tmp, "\r\n", NULL);