diff options
author | Martin Jones <martin.jones@nokia.com> | 2011-05-05 13:24:32 +1000 |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2011-05-30 15:47:52 +1000 |
commit | d58472c1b1727b5695c692ab8e99545b5b6c1158 (patch) | |
tree | 16ad2496cd8dd13e6515002742b123dfb9712633 /src | |
parent | dcb9148091cbf6872b60407c301d7c92427583a6 (diff) |
Uninitialized memory is compared.
Memory is allocated and used without first clearing it. At
the least this annoys valgrind, but also has potential for real
problems.
Change-Id: Icf3fd39f44ee0481dd732510e7f8b3ad6cef477d
Task-number: QTBUG-15187
Reviewed-by: Aaron Kennedy
(cherry picked from commit 95aa4e4f9b82c3652ffc93310b190db869d491df)
Diffstat (limited to 'src')
-rw-r--r-- | src/declarative/qml/qdeclarativeproperty.cpp | 2 | ||||
-rw-r--r-- | src/declarative/qml/qmetaobjectbuilder.cpp | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativeproperty.cpp b/src/declarative/qml/qdeclarativeproperty.cpp index 1cd33634d7..b91b820e0f 100644 --- a/src/declarative/qml/qdeclarativeproperty.cpp +++ b/src/declarative/qml/qdeclarativeproperty.cpp @@ -1454,6 +1454,7 @@ QByteArray QDeclarativePropertyPrivate::saveValueType(const QMetaObject *metaObj QMetaProperty subProp = subObject->property(subIndex); ValueTypeSerializedData sd; + memset(&sd, 0, sizeof(sd)); sd.isValueType = true; sd.core.load(metaObject->property(index)); sd.valueType.flags = QDeclarativePropertyCache::Data::flagsForProperty(subProp); @@ -1468,6 +1469,7 @@ QByteArray QDeclarativePropertyPrivate::saveValueType(const QMetaObject *metaObj QByteArray QDeclarativePropertyPrivate::saveProperty(const QMetaObject *metaObject, int index) { SerializedData sd; + memset(&sd, 0, sizeof(sd)); sd.isValueType = false; sd.core.load(metaObject->property(index)); diff --git a/src/declarative/qml/qmetaobjectbuilder.cpp b/src/declarative/qml/qmetaobjectbuilder.cpp index a63656bc28..d8a7b77f11 100644 --- a/src/declarative/qml/qmetaobjectbuilder.cpp +++ b/src/declarative/qml/qmetaobjectbuilder.cpp @@ -1452,6 +1452,7 @@ QMetaObject *QMetaObjectBuilder::toMetaObject() const { int size = buildMetaObject(d, 0, false); char *buf = reinterpret_cast<char *>(qMalloc(size)); + memset(buf, 0, size); buildMetaObject(d, buf, false); return reinterpret_cast<QMetaObject *>(buf); } @@ -1481,6 +1482,7 @@ QByteArray QMetaObjectBuilder::toRelocatableData(bool *ok) const QByteArray data; data.resize(size); char *buf = data.data(); + memset(buf, 0, size); buildMetaObject(d, buf, true); if (ok) *ok = true; return data; |