[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive] src: Save XML files with deterministic attribute order
From: Kamal Mostafa <kamal () whence ! com>
Date: 2016-02-29 23:54:58
Message-ID: E1aaXeU-0007n6-HE () scm ! kde ! org
[Download RAW message or body]
Git commit e9f68dc7a3e7bf2f47ea2b01acf529fd0e4fab1f by Kamal Mostafa.
Committed on 29/02/2016 at 23:07.
Pushed by mardelle into branch 'master'.
Save XML files with deterministic attribute order
Disable randomized QHash seed salt, so that QDomDocument will save XML
attributes in a deterministic (albeit arbitrary) order.
Now, saving an unchanged project yields an identical .kdenlive file
which can be checksummed, diff'ed, etc.
Reference: http://doc.qt.io/qt-5/qhash.html#algorithmic-complexity-attacks
Reference: http://stacksolve.com/3W1nJraYm18Q/qt-5-produce-random-attribute=
-order-in-xml.html
M +4 -0 src/main.cpp
http://commits.kde.org/kdenlive/e9f68dc7a3e7bf2f47ea2b01acf529fd0e4fab1f
diff --git a/src/main.cpp b/src/main.cpp
index d505962..9acef87 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -37,6 +37,10 @@
=
int main(int argc, char *argv[])
{
+ // Force QDomDocument to use a deterministic XML attribute order
+ extern Q_CORE_EXPORT QBasicAtomicInt qt_qhash_seed;
+ qt_qhash_seed.store(0);
+
#if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
QCoreApplication::setAttribute(Qt::AA_X11InitThreads);
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic