Avoid triggering undefined behaviour (std::memset(nullptr, 0, 0)) if an invalid string is passed to DecodeSecret(...)

This commit is contained in:
practicalswift
2018-09-17 16:30:08 +02:00
parent 1933e38c1a
commit d855e4cac8
2 changed files with 3 additions and 2 deletions

View File

@@ -142,7 +142,9 @@ CKey DecodeSecret(const std::string& str)
key.Set(data.begin() + privkey_prefix.size(), data.begin() + privkey_prefix.size() + 32, compressed);
}
}
memory_cleanse(data.data(), data.size());
if (!data.empty()) {
memory_cleanse(data.data(), data.size());
}
return key;
}