diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino index 708b358..6232505 100644 --- a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino @@ -585,13 +585,17 @@ static void sha256calc(const uint8_t *in, size_t len, uint8_t *out32) { } static String base64Std(const uint8_t *data, size_t len) { - char out[96] = {}; + size_t needed = ((len + 2) / 3) * 4 + 4; + std::vector out(needed, 0); size_t outLen = 0; - if (mbedtls_base64_encode(reinterpret_cast(out), sizeof(out), &outLen, data, len) != 0) { + if (mbedtls_base64_encode(out.data(), out.size(), &outLen, data, len) != 0) { return ""; } - out[min(outLen, sizeof(out) - 1)] = '\0'; - return String(out); + if (outLen >= out.size()) { + return ""; + } + out[outLen] = '\0'; + return String(reinterpret_cast(out.data())); } static String base58From32(const uint8_t *data32) { diff --git a/VERSION.properties b/VERSION.properties index 8539140..6f8bed5 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.167 -server.version=1.2.156 +client.version=1.2.168 +server.version=1.2.157