Now almost all necessary operations of sync tree and sync log work
diff --git a/src/hash-string-converter.h b/src/hash-string-converter.h
index 1a84065..b696426 100644
--- a/src/hash-string-converter.h
+++ b/src/hash-string-converter.h
@@ -33,15 +33,19 @@
Hash (const void *buf, size_t length)
: m_length (length)
{
- m_buf = new unsigned char [length];
- memcpy (m_buf, buf, length);
+ if (m_length != 0)
+ {
+ m_buf = new unsigned char [length];
+ memcpy (m_buf, buf, length);
+ }
}
Hash (const std::string &hashInTextEncoding);
~Hash ()
{
- delete [] m_buf;
+ if (m_length != 0)
+ delete [] m_buf;
}
bool
@@ -76,6 +80,9 @@
unsigned char *m_buf;
size_t m_length;
+ Hash (const Hash &) { }
+ Hash & operator = (const Hash &) { return *this; }
+
friend std::ostream &
operator << (std::ostream &os, const Hash &digest);
};