summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2011-05-05 03:24:32 (GMT)
committerMartin Jones <martin.jones@nokia.com>2011-05-05 03:31:58 (GMT)
commit95aa4e4f9b82c3652ffc93310b190db869d491df (patch)
tree5d10eb30c8755d9a78f2d98e666dfc6144a930a1 /src/declarative
parentf6b7ce204ee88be0fedb4cfcff382f208fa4ed33 (diff)
downloadQt-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.cpp2
-rw-r--r--src/declarative/qml/qmetaobjectbuilder.cpp2
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;