summaryrefslogtreecommitdiffstats
path: root/src/corelib/json/qjsonvalue.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-07-23 15:42:55 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-24 10:56:07 +0200
commit77833b90c8d93b86904b744f7be2926ba377ca6e (patch)
treee14172d8107330b3c5ca25dd565de88e4ee6755d /src/corelib/json/qjsonvalue.cpp
parent0edf1390ca0cd70cd2b4d4c971a9631f0f35c24c (diff)
Fix crashes when invoking toVariant() on empty QJsonValue objects.
Change-Id: I51cd114e862c6fad564484e990348f324ad56ab9 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
Diffstat (limited to 'src/corelib/json/qjsonvalue.cpp')
-rw-r--r--src/corelib/json/qjsonvalue.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/corelib/json/qjsonvalue.cpp b/src/corelib/json/qjsonvalue.cpp
index a540626579..3fbc811948 100644
--- a/src/corelib/json/qjsonvalue.cpp
+++ b/src/corelib/json/qjsonvalue.cpp
@@ -384,9 +384,13 @@ QVariant QJsonValue::toVariant() const
case String:
return toString();
case Array:
- return QJsonArray(d, static_cast<QJsonPrivate::Array *>(base)).toVariantList();
+ return d ?
+ QJsonArray(d, static_cast<QJsonPrivate::Array *>(base)).toVariantList() :
+ QVariantList();
case Object:
- return QJsonObject(d, static_cast<QJsonPrivate::Object *>(base)).toVariantMap();
+ return d ?
+ QJsonObject(d, static_cast<QJsonPrivate::Object *>(base)).toVariantMap() :
+ QVariantMap();
case Null:
case Undefined:
break;