Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/keepassxreboot/keepassxc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFelix Geyer <debfx@fobos.de>2011-12-27 18:47:06 +0400
committerFelix Geyer <debfx@fobos.de>2011-12-27 18:47:06 +0400
commitbce46c5ecea53ff976a9e97e8638a847819082b3 (patch)
treea4fe8366b1f3cb21d934dd0a6972723504e252c7 /src
parent4ebcd53801e6bfdeef04c2f82aa0157fb71b10b2 (diff)
Enforce that group/entry uuid is set when writing a database.
Diffstat (limited to 'src')
-rw-r--r--src/core/Database.cpp1
-rw-r--r--src/format/KeePass2XmlWriter.cpp4
2 files changed, 5 insertions, 0 deletions
diff --git a/src/core/Database.cpp b/src/core/Database.cpp
index 20fe8cbc7..6595cf83d 100644
--- a/src/core/Database.cpp
+++ b/src/core/Database.cpp
@@ -29,6 +29,7 @@ Database::Database()
{
m_metadata = new Metadata(this);
setRootGroup(new Group());
+ rootGroup()->setUuid(Uuid::random());
m_cipher = KeePass2::CIPHER_AES;
m_compressionAlgo = CompressionGZip;
diff --git a/src/format/KeePass2XmlWriter.cpp b/src/format/KeePass2XmlWriter.cpp
index e7a3938c3..e95d70fa3 100644
--- a/src/format/KeePass2XmlWriter.cpp
+++ b/src/format/KeePass2XmlWriter.cpp
@@ -169,6 +169,8 @@ void KeePass2XmlWriter::writeRoot()
void KeePass2XmlWriter::writeGroup(const Group* group)
{
+ Q_ASSERT(!group->uuid().isNull());
+
m_xml.writeStartElement("Group");
writeUuid("UUID", group->uuid());
@@ -237,6 +239,8 @@ void KeePass2XmlWriter::writeDeletedObject(const DeletedObject& delObj)
void KeePass2XmlWriter::writeEntry(const Entry* entry)
{
+ Q_ASSERT(!entry->uuid().isNull());
+
m_xml.writeStartElement("Entry");
writeUuid("UUID", entry->uuid());