diff options
| author | Pieter Wuille <[email protected]> | 2014-09-19 18:37:48 +0200 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2014-09-19 18:42:00 +0200 |
| commit | 2fc6c67400e91846ca1c1c57011e57491013f9bd (patch) | |
| tree | c067241cb3e98133d21017f5994c580a3d43e0d5 /src/utilstrencodings.cpp | |
| parent | Merge pull request #4667 (diff) | |
| parent | Fixing 'vector out of bounds' issue in base 32 and 64 (diff) | |
| download | discoin-2fc6c67400e91846ca1c1c57011e57491013f9bd.tar.xz discoin-2fc6c67400e91846ca1c1c57011e57491013f9bd.zip | |
Merge pull request #4944
018cec7 Fixing 'vector out of bounds' issue in base 32 and 64 (ENikS)
Diffstat (limited to 'src/utilstrencodings.cpp')
| -rw-r--r-- | src/utilstrencodings.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/utilstrencodings.cpp b/src/utilstrencodings.cpp index 6837e4e26..2cec3023b 100644 --- a/src/utilstrencodings.cpp +++ b/src/utilstrencodings.cpp @@ -224,7 +224,7 @@ vector<unsigned char> DecodeBase64(const char* p, bool* pfInvalid) string DecodeBase64(const string& str) { vector<unsigned char> 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<unsigned char> DecodeBase32(const char* p, bool* pfInvalid) string DecodeBase32(const string& str) { vector<unsigned char> 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) |