From 0411240fdaada112d150f28f82973beb15478b1d Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Tue, 17 Mar 2015 16:01:05 +0100 Subject: Make sure remove() doesn't corrupt the json object When using non latin keys, remove() could cause corruption of the json object. Task-number: QTBUG-42270 Change-Id: I7305e57ebb78630a9bf68bc4f831a6d1646abb79 Reviewed-by: Thiago Macieira --- src/corelib/json/qjson_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/corelib/json') diff --git a/src/corelib/json/qjson_p.h b/src/corelib/json/qjson_p.h index b8430cabf5..5fc021c841 100644 --- a/src/corelib/json/qjson_p.h +++ b/src/corelib/json/qjson_p.h @@ -629,7 +629,7 @@ public: if (value.latinKey) s += sizeof(ushort) + qFromLittleEndian(*(ushort *) ((const char *)this + sizeof(Entry))); else - s += sizeof(uint) + qFromLittleEndian(*(int *) ((const char *)this + sizeof(Entry))); + s += sizeof(uint) + sizeof(ushort)*qFromLittleEndian(*(int *) ((const char *)this + sizeof(Entry))); return alignedSize(s); } -- cgit v1.2.3