summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/base16.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/base16.c b/src/core/base16.c
index 7fa4b2009..2544bd7fb 100644
--- a/src/core/base16.c
+++ b/src/core/base16.c
@@ -51,10 +51,14 @@ void base16_encode ( const uint8_t *raw, size_t len, char *encoded ) {
char *encoded_bytes = encoded;
size_t remaining = len;
+ /* Encode each byte */
for ( ; remaining-- ; encoded_bytes += 2 ) {
sprintf ( encoded_bytes, "%02x", *(raw_bytes++) );
}
+ /* Ensure terminating NUL exists even if length was zero */
+ *encoded_bytes = '\0';
+
DBG ( "Base16-encoded to \"%s\":\n", encoded );
DBG_HDA ( 0, raw, len );
assert ( strlen ( encoded ) == base16_encoded_len ( len ) );