From 9b80535334de1a3ca0bf40d2f1109202385148aa Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 31 Dec 2018 11:54:26 -0500 Subject: Fix implicit signed conversions in base64 implementation --- src/base64.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/base64.c b/src/base64.c index 7bc4a127..4171ed22 100644 --- a/src/base64.c +++ b/src/base64.c @@ -38,7 +38,7 @@ static const uint8_t b64_map[] = for decoding, shifted up by 47 to be in the range of printable ASCII. A '$' is a placeholder for characters not in the base64 alphabet. */ -static const char b64_unmap[] = +static const uint8_t b64_unmap[] = "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$m$$$ncdefghijkl$$$$$$" "$/0123456789:;<=>?@ABCDEFGH$$$$$$IJKLMNOPQRSTUVWXYZ[\\]^_`ab$$$$" "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" @@ -113,7 +113,7 @@ serd_base64_decode(const char* str, size_t len, size_t* size) uint8_t in[] = "===="; size_t n_in = 0; for (; i < len && n_in < 4; ++n_in) { - for (; i < len && !is_base64(ustr[i]); ++i) {} // Skip junk + for (; i < len && !is_base64(str[i]); ++i) {} // Skip junk in[n_in] = ustr[i++]; } if (n_in > 1) { -- cgit v1.2.1