diff options
author | Robert Löhning <robert.loehning@qt.io> | 2023-04-24 15:27:17 +0200 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2023-04-25 17:19:46 +0000 |
commit | ff22c3ccf8ccf813fdcfda23f7740ba73ba5ce0a (patch) | |
tree | 30c685250f8369a607cbd57df7dacddb1385c1cf /src/svg | |
parent | 693913d2a0a09d45ce596ca6ed850522e2e34efb (diff) | |
download | qtsvg-ff22c3ccf8ccf813fdcfda23f7740ba73ba5ce0a.tar.gz |
QSvgFont: Initialize used member, remove unused
Credit to OSS-Fuzz
[ChangeLog][QtSvg] Fixed undefined behavior from using uninitialized
variable.
Pick-to: 6.5 6.2 5.15
Coverity-Id: 22618
Change-Id: Id52277bb0e2845f4d342e187dbb8093e9276b70c
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src/svg')
-rw-r--r-- | src/svg/qsvgfont_p.h | 5 | ||||
-rw-r--r-- | src/svg/qsvghandler.cpp | 2 |
2 files changed, 3 insertions, 4 deletions
diff --git a/src/svg/qsvgfont_p.h b/src/svg/qsvgfont_p.h index a7cc98b..9cf3dfe 100644 --- a/src/svg/qsvgfont_p.h +++ b/src/svg/qsvgfont_p.h @@ -38,6 +38,7 @@ public: class Q_SVG_PRIVATE_EXPORT QSvgFont : public QSvgRefCounted { public: + static constexpr qreal DEFAULT_UNITS_PER_EM = 1000; QSvgFont(qreal horizAdvX); void setFamilyName(const QString &name); @@ -50,9 +51,7 @@ public: void draw(QPainter *p, const QPointF &point, const QString &str, qreal pixelSize, Qt::Alignment alignment) const; public: QString m_familyName; - qreal m_unitsPerEm; - qreal m_ascent; - qreal m_descent; + qreal m_unitsPerEm = DEFAULT_UNITS_PER_EM; qreal m_horizAdvX; QHash<QChar, QSvgGlyph> m_glyphs; }; diff --git a/src/svg/qsvghandler.cpp b/src/svg/qsvghandler.cpp index 29ca733..a891848 100644 --- a/src/svg/qsvghandler.cpp +++ b/src/svg/qsvghandler.cpp @@ -2622,7 +2622,7 @@ static bool parseFontFaceNode(QSvgStyleProperty *parent, qreal unitsPerEm = toDouble(unitsPerEmStr); if (!unitsPerEm) - unitsPerEm = 1000; + unitsPerEm = QSvgFont::DEFAULT_UNITS_PER_EM; if (!name.isEmpty()) font->setFamilyName(name); |