diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2013-07-23 15:42:55 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-24 10:56:07 +0200 |
commit | 77833b90c8d93b86904b744f7be2926ba377ca6e (patch) | |
tree | e14172d8107330b3c5ca25dd565de88e4ee6755d /src/corelib/json | |
parent | 0edf1390ca0cd70cd2b4d4c971a9631f0f35c24c (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')
-rw-r--r-- | src/corelib/json/qjsonvalue.cpp | 8 |
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; |