From 9c5683f43346b30d3967496dfd0c8b12bd24f02c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20L=C3=B6hning?= Date: Fri, 29 Jan 2021 12:05:12 +0100 Subject: Sanitize font weight value in QSvgFontStyle::apply Assigning values outside the enum's range is undefined. Fixes oss-fuzz issue 29432. Pick-to: 6.0 Change-Id: I31f4d64a15803b13a3cb8dc07702da24ca74ebc2 Reviewed-by: Jonas Karlsson Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/svg/qsvgstyle.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/svg/qsvgstyle.cpp b/src/svg/qsvgstyle.cpp index cf17944..e82d89c 100644 --- a/src/svg/qsvgstyle.cpp +++ b/src/svg/qsvgstyle.cpp @@ -263,7 +263,9 @@ void QSvgFontStyle::apply(QPainter *p, const QSvgNode *, QSvgExtraStates &states } else { states.fontWeight = m_weight; } - font.setWeight(QFont::Weight(states.fontWeight)); + font.setWeight(QFont::Weight(qBound(static_cast(QFont::Weight::Thin), + states.fontWeight, + static_cast(QFont::Weight::Black)))); } p->setFont(font); -- cgit v1.2.1