Fix missing virtual destructor and potential integer overflow

This commit is contained in:
Sebastian Messmer 2016-09-21 20:07:20 +02:00
parent 733622cb98
commit 46183976ee
2 changed files with 2 additions and 1 deletions

View File

@ -149,7 +149,7 @@ uint32_t DataTree::_numLeaves(const DataNode &node) const {
}
const DataInnerNode &inner = dynamic_cast<const DataInnerNode&>(node);
uint64_t numLeavesInLeftChildren = (inner.numChildren()-1) * leavesPerFullChild(inner);
uint64_t numLeavesInLeftChildren = (uint64_t)(inner.numChildren()-1) * leavesPerFullChild(inner);
auto lastChild = _nodeStore->load(inner.LastChild()->key());
ASSERT(lastChild != none, "Couldn't load last child");
uint64_t numLeavesInRightChild = _numLeaves(**lastChild);

View File

@ -12,6 +12,7 @@
namespace cryfs {
class InnerEncryptor {
public:
virtual ~InnerEncryptor() {}
virtual InnerConfig encrypt(const cpputils::Data &plaintext) const = 0;
virtual boost::optional<cpputils::Data> decrypt(const InnerConfig &innerConfig) const = 0;
};