diff options
author | Martin Jones <martin.jones@nokia.com> | 2011-05-05 03:24:32 (GMT) |
---|---|---|
committer | Martin Jones <martin.jones@nokia.com> | 2011-05-05 03:31:58 (GMT) |
commit | 95aa4e4f9b82c3652ffc93310b190db869d491df (patch) | |
tree | 5d10eb30c8755d9a78f2d98e666dfc6144a930a1 /src/declarative | |
parent | f6b7ce204ee88be0fedb4cfcff382f208fa4ed33 (diff) | |
download | Qt-95aa4e4f9b82c3652ffc93310b190db869d491df.zip Qt-95aa4e4f9b82c3652ffc93310b190db869d491df.tar.gz Qt-95aa4e4f9b82c3652ffc93310b190db869d491df.tar.bz2 |
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
Diffstat (limited to 'src/declarative')
-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 0dd0edb..a197a95 100644 --- a/src/declarative/qml/qdeclarativeproperty.cpp +++ b/src/declarative/qml/qdeclarativeproperty.cpp @@ -1451,6 +1451,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); @@ -1465,6 +1466,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 6a0226f..0be2a41 100644 --- a/src/declarative/qml/qmetaobjectbuilder.cpp +++ b/src/declarative/qml/qmetaobjectbuilder.cpp @@ -1448,6 +1448,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); } @@ -1477,6 +1478,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; |