diff --git a/DeterministicKeys.cpp b/DeterministicKeys.cpp index 9441f9eeaf..77c2c2e9b3 100644 --- a/DeterministicKeys.cpp +++ b/DeterministicKeys.cpp @@ -10,7 +10,7 @@ DetKeySet::DetKeySet(const std::string& phrase) { Serializer s; - s.addRaw(phrase); + s.addRaw((const void *) phrase.c_str(), phrase.length()); mBase=s.getSHA512Half(); s.secureErase(); } diff --git a/Serializer.cpp b/Serializer.cpp index 68f4cef54a..3fc1f014b5 100644 --- a/Serializer.cpp +++ b/Serializer.cpp @@ -57,6 +57,11 @@ int Serializer::addRaw(const std::vector &vector) return ret; } +int Serializer::addRaw(const void *ptr, int len) +{ + mData.insert(mData.end(), (const char *) ptr, ((const char *)ptr)+len); +} + bool Serializer::get16(uint16& o, int offset) const { if((offset+2)>mData.size()) return false; diff --git a/Serializer.h b/Serializer.h index 8462b8ca4b..56c7f9c394 100644 --- a/Serializer.h +++ b/Serializer.h @@ -27,6 +27,7 @@ class Serializer int add160(const uint160&); // account names, hankos int add256(const uint256&); // transaction and ledger hashes int addRaw(const std::vector &vector); + int addRaw(const void *ptr, int len); // disassemble functions bool get16(uint16&, int offset) const;