From 00b759a8d06dbec42232b1b8748c0725da7ced00 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 21 Jan 2021 11:33:51 -0800 Subject: QJsonObject::take: add missing detach() call We were modifying shared objects. Pick-to: 6.0 5.15 Fixes: QTBUG-89625 Change-Id: Id6bc735b79cf4beb9454fffd165c56476a5dec04 Reviewed-by: Volker Hilsheimer Reviewed-by: Christian Ehrlicher --- src/corelib/serialization/qjsonobject.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/corelib/serialization/qjsonobject.cpp') diff --git a/src/corelib/serialization/qjsonobject.cpp b/src/corelib/serialization/qjsonobject.cpp index 0c4af59163f..a06af5d02dd 100644 --- a/src/corelib/serialization/qjsonobject.cpp +++ b/src/corelib/serialization/qjsonobject.cpp @@ -617,6 +617,7 @@ QJsonValue QJsonObject::takeImpl(T key) if (!keyExists) return QJsonValue(QJsonValue::Undefined); + detach(); const QJsonValue v = QJsonPrivate::Value::fromTrustedCbor(o->extractAt(index + 1)); removeAt(index / 2); return v; -- cgit v1.2.3