summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Ylavic <ylavic@apache.org>2022-04-22 14:14:01 +0200
committerYann Ylavic <ylavic@apache.org>2022-04-22 14:14:01 +0200
commitb6c0306cecae198d7161b47eaa34e80d87812b17 (patch)
treea0907a4bf2c7fb218211b45e4cfe6afb0cb3b7a5
parent *) mod_md: a possible NULL pointer deref was fixed in (diff)
downloadapache2-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 '')
-rw-r--r--support/ab.c7
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);