From 9aa8090d069eb0b36769f33544faf0e7e429e844 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 24 Apr 2015 14:34:32 +0100 Subject: [base16] Add buffer size parameter to base16_encode() and base16_decode() The current API for Base16 (and Base64) encoding requires the caller to always provide sufficient buffer space. This prevents the use of the generic encoding/decoding functionality in some situations, such as in formatting the hex setting types. Implement a generic hex_encode() (based on the existing format_hex_setting()), implement base16_encode() and base16_decode() in terms of the more generic hex_encode() and hex_decode(), and update all callers to provide the additional buffer length parameter. Signed-off-by: Michael Brown --- src/crypto/x509.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/crypto') diff --git a/src/crypto/x509.c b/src/crypto/x509.c index 49a1bce77..00eb226e0 100644 --- a/src/crypto/x509.c +++ b/src/crypto/x509.c @@ -143,7 +143,8 @@ const char * x509_name ( struct x509_certificate *cert ) { } else { /* Certificate has no commonName: use SHA-1 fingerprint */ x509_fingerprint ( cert, digest, fingerprint ); - base16_encode ( fingerprint, sizeof ( fingerprint ), buf ); + base16_encode ( fingerprint, sizeof ( fingerprint ), + buf, sizeof ( buf ) ); } return buf; } -- cgit v1.2.3-55-g7522