diff options
author | Yann Ylavic <ylavic@apache.org> | 2022-04-22 14:14:01 +0200 |
---|---|---|
committer | Yann Ylavic <ylavic@apache.org> | 2022-04-22 14:14:01 +0200 |
commit | b6c0306cecae198d7161b47eaa34e80d87812b17 (patch) | |
tree | a0907a4bf2c7fb218211b45e4cfe6afb0cb3b7a5 /support | |
parent | *) mod_md: a possible NULL pointer deref was fixed in (diff) | |
download | apache2-b6c0306cecae198d7161b47eaa34e80d87812b17.tar.xz apache2-b6c0306cecae198d7161b47eaa34e80d87812b17.zip |
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
Diffstat (limited to 'support')
-rw-r--r-- | support/ab.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/support/ab.c b/support/ab.c index b9c055eec2..d7b6938849 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); |