diff options
author | Jamey Hicks <jamey.hicks@nokia.com> | 2011-12-02 16:37:42 -0500 |
---|---|---|
committer | Knoll Lars <lars.knoll@nokia.com> | 2011-12-05 10:13:24 +0100 |
commit | 0ca39f93362663d064fea0c00fa2213b6a8adfa2 (patch) | |
tree | 377a9979db46e38fbede28d6ab10bfe24556a189 | |
parent | 422fe09794bcbea8d8dc368f77e86113d554f6a6 (diff) |
Do not expect struct Header in JsonObject::fromData().
Change-Id: I4d5e36e82a09c1331354577cb0f6778eb50fb329
Reviewed-by: Knoll Lars <lars.knoll@nokia.com>
-rw-r--r-- | src/qbinaryjsonobject.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qbinaryjsonobject.cpp b/src/qbinaryjsonobject.cpp index a4e3c9a..b423d79 100644 --- a/src/qbinaryjsonobject.cpp +++ b/src/qbinaryjsonobject.cpp @@ -53,13 +53,15 @@ JsonObject JsonObject::fromData(const QByteArray &data) Header *h = (Header *) data.constData(); if (h->version != 0) return JsonObject(); + if (h->size > data.size()) { + return JsonObject(); + } char *raw = (char *)malloc(data.size()); memcpy(raw, data.constData(), data.size()); Data *d = new Data(raw, data.size()); - h = (Header *) raw; - return d->toObject(&h->root); + return d->toObject((Object *)raw); } JsonObject JsonObject::fromVariantMap(const QVariantMap &map) |