diff --git a/src/utilstrencodings.cpp b/src/utilstrencodings.cpp index 6837e4e2674..2cec3023b53 100644 --- a/src/utilstrencodings.cpp +++ b/src/utilstrencodings.cpp @@ -224,7 +224,7 @@ vector DecodeBase64(const char* p, bool* pfInvalid) string DecodeBase64(const string& str) { vector vchRet = DecodeBase64(str.c_str()); - return string((const char*)&vchRet[0], vchRet.size()); + return (vchRet.size() == 0) ? string() : string((const char*)&vchRet[0], vchRet.size()); } string EncodeBase32(const unsigned char* pch, size_t len) @@ -411,7 +411,7 @@ vector DecodeBase32(const char* p, bool* pfInvalid) string DecodeBase32(const string& str) { vector vchRet = DecodeBase32(str.c_str()); - return string((const char*)&vchRet[0], vchRet.size()); + return (vchRet.size() == 0) ? string() : string((const char*)&vchRet[0], vchRet.size()); } bool ParseInt32(const std::string& str, int32_t *out)