diff options
author | Michael Brown <mcb30@ipxe.org> | 2015-04-24 15:32:04 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2015-04-24 15:32:04 +0100 |
commit | 1205721cbd1930d22b7adcb3211040c7152e3171 (patch) | |
tree | e3d7a1ff444a4ff0cea8ee38a9f4ef16eb323d31 /src/net | |
parent | 9aa8090d069eb0b36769f33544faf0e7e429e844 (diff) | |
download | ipxe-1205721cbd1930d22b7adcb3211040c7152e3171.zip ipxe-1205721cbd1930d22b7adcb3211040c7152e3171.tar.gz ipxe-1205721cbd1930d22b7adcb3211040c7152e3171.tar.bz2 |
[base64] Add buffer size parameter to base64_encode() and base64_decode()
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net')
-rw-r--r-- | src/net/tcp/httpcore.c | 3 | ||||
-rw-r--r-- | src/net/tcp/iscsi.c | 2 | ||||
-rw-r--r-- | src/net/validator.c | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/net/tcp/httpcore.c b/src/net/tcp/httpcore.c index d94ab5f..f14ce9a 100644 --- a/src/net/tcp/httpcore.c +++ b/src/net/tcp/httpcore.c @@ -1081,7 +1081,8 @@ static char * http_basic_auth ( struct http_request *http ) { snprintf ( user_pw, sizeof ( user_pw ), "%s:%s", user, password ); /* Base64-encode the "user:password" string */ - base64_encode ( ( void * ) user_pw, user_pw_len, user_pw_base64 ); + base64_encode ( user_pw, user_pw_len, user_pw_base64, + sizeof ( user_pw_base64 ) ); /* Generate the authorisation string */ len = asprintf ( &auth, "Authorization: Basic %s\r\n", diff --git a/src/net/tcp/iscsi.c b/src/net/tcp/iscsi.c index e553b21..0099bf5 100644 --- a/src/net/tcp/iscsi.c +++ b/src/net/tcp/iscsi.c @@ -845,7 +845,7 @@ static int iscsi_large_binary_decode ( const char *encoded, uint8_t *raw, case 'x' : return base16_decode ( encoded, raw, len ); case 'b' : - return base64_decode ( encoded, raw ); + return base64_decode ( encoded, raw, len ); } } diff --git a/src/net/validator.c b/src/net/validator.c index 4c26cd1..a01269d 100644 --- a/src/net/validator.c +++ b/src/net/validator.c @@ -254,7 +254,8 @@ static int validator_start_download ( struct validator *validator, /* Generate URI string */ len = snprintf ( uri_string, uri_string_len, "%s/%08x.der?subject=", crosscert, crc ); - base64_encode ( issuer->data, issuer->len, ( uri_string + len ) ); + base64_encode ( issuer->data, issuer->len, ( uri_string + len ), + ( uri_string_len - len ) ); DBGC ( validator, "VALIDATOR %p downloading cross-signed certificate " "from %s\n", validator, uri_string ); |