diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2017-02-21 21:35:54 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2017-03-08 13:04:59 +0000 |
commit | 8289c86a95a32b6e746594a1e1d7d22bcac28f9e (patch) | |
tree | 716249d5cc5019b1c1ec6cefd4b51f99fbdab409 | |
parent | faf277b5dec96e4b785bf2a1cfd2c1eb6075b1f4 (diff) |
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.
Conflicts:
src/corelib/tools/qtimezone.cpp
Change-Id: I3c0d39b88cca83d827a69ed1544a4412b18ac907
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 809cef1732df9f843dc895cfb3f4b3e58646e050)
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
-rw-r--r-- | src/corelib/tools/qtimezone.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/corelib/tools/qtimezone.cpp b/src/corelib/tools/qtimezone.cpp index bf34a8b16f..cf5e99bb88 100644 --- a/src/corelib/tools/qtimezone.cpp +++ b/src/corelib/tools/qtimezone.cpp @@ -688,9 +688,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(); } /*! @@ -726,9 +726,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(); } /*! @@ -747,9 +747,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(); } /*! @@ -769,7 +769,7 @@ QTimeZone::OffsetDataList QTimeZone::transitions(const QDateTime &fromDateTime, toDateTime.toMSecsSinceEpoch()); list.reserve(plist.count()); foreach (const QTimeZonePrivate::Data &pdata, plist) - list.append(d->toOffsetData(pdata)); + list.append(QTimeZonePrivate::toOffsetData(pdata)); } return list; } |