summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobert Löhning <robert.loehning@qt.io>2023-04-24 15:27:17 +0200
committerEskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>2023-04-25 17:19:46 +0000
commitff22c3ccf8ccf813fdcfda23f7740ba73ba5ce0a (patch)
tree30c685250f8369a607cbd57df7dacddb1385c1cf /src
parent693913d2a0a09d45ce596ca6ed850522e2e34efb (diff)
downloadqtsvg-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')
-rw-r--r--src/svg/qsvgfont_p.h5
-rw-r--r--src/svg/qsvghandler.cpp2
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);