From 809cef1732df9f843dc895cfb3f4b3e58646e050 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 21 Feb 2017 21:35:54 +0100 Subject: QTimeZone: do not access static functions through this-> The this pointer cannot be null, so we can't do d->staticFunction while d is a null pointer. This was caught by Clang 3.8's ubsan. Change-Id: I3c0d39b88cca83d827a69ed1544a4412b18ac907 Reviewed-by: Thiago Macieira --- src/corelib/tools/qtimezone.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/corelib') diff --git a/src/corelib/tools/qtimezone.cpp b/src/corelib/tools/qtimezone.cpp index 359c2d0bdb..ec2f7c4af6 100644 --- a/src/corelib/tools/qtimezone.cpp +++ b/src/corelib/tools/qtimezone.cpp @@ -674,9 +674,9 @@ bool QTimeZone::isDaylightTime(const QDateTime &atDateTime) const QTimeZone::OffsetData QTimeZone::offsetData(const QDateTime &forDateTime) const { if (hasTransitions()) - return d->toOffsetData(d->data(forDateTime.toMSecsSinceEpoch())); + return QTimeZonePrivate::toOffsetData(d->data(forDateTime.toMSecsSinceEpoch())); else - return d->invalidOffsetData(); + return QTimeZonePrivate::invalidOffsetData(); } /*! @@ -712,9 +712,9 @@ bool QTimeZone::hasTransitions() const QTimeZone::OffsetData QTimeZone::nextTransition(const QDateTime &afterDateTime) const { if (hasTransitions()) - return d->toOffsetData(d->nextTransition(afterDateTime.toMSecsSinceEpoch())); + return QTimeZonePrivate::toOffsetData(d->nextTransition(afterDateTime.toMSecsSinceEpoch())); else - return d->invalidOffsetData(); + return QTimeZonePrivate::invalidOffsetData(); } /*! @@ -733,9 +733,9 @@ QTimeZone::OffsetData QTimeZone::nextTransition(const QDateTime &afterDateTime) QTimeZone::OffsetData QTimeZone::previousTransition(const QDateTime &beforeDateTime) const { if (hasTransitions()) - return d->toOffsetData(d->previousTransition(beforeDateTime.toMSecsSinceEpoch())); + return QTimeZonePrivate::toOffsetData(d->previousTransition(beforeDateTime.toMSecsSinceEpoch())); else - return d->invalidOffsetData(); + return QTimeZonePrivate::invalidOffsetData(); } /*! @@ -755,7 +755,7 @@ QTimeZone::OffsetDataList QTimeZone::transitions(const QDateTime &fromDateTime, toDateTime.toMSecsSinceEpoch()); list.reserve(plist.count()); for (const QTimeZonePrivate::Data &pdata : plist) - list.append(d->toOffsetData(pdata)); + list.append(QTimeZonePrivate::toOffsetData(pdata)); } return list; } -- cgit v1.2.3