[base64] Add buffer size parameter to base64_encode() and base64_decode()

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown
2015-04-24 15:32:04 +01:00
parent 9aa8090d06
commit 1205721cbd
7 changed files with 84 additions and 77 deletions

View File

@@ -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",

View File

@@ -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 );
}
}

View File

@@ -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 );