File 0006-QBezier-Don-t-try-calculating-a-unit-vector-when-len.patch of Package libqt5-qtbase.17069

From 6ea73a753c7664bad4a0d30beddfe04747278f9f Mon Sep 17 00:00:00 2001
From: Robert Loehning <robert.loehning@qt.io>
Date: Mon, 3 Aug 2020 15:15:30 +0200
Subject: [PATCH 06/11] QBezier: Don't try calculating a unit vector when
 length is null

It's undefined and causes a division by zero.

Fixes: oss-fuzz-24273
Change-Id: I3d34d5c43cccff9255abaf87af265ddea3fe6d95
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 7fa5fdae5c4f4c83acb74ff8cd65eacfa567a727)
Reviewed-by: hjk <hjk@qt.io>
(cherry picked from commit 5cbebeda54c81a182b8581a2d0a7f4b6b00e45f8)
---
 src/gui/painting/qbezier.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/gui/painting/qbezier.cpp b/src/gui/painting/qbezier.cpp
index 65e6063fe4..8964da9d37 100644
--- a/src/gui/painting/qbezier.cpp
+++ b/src/gui/painting/qbezier.cpp
@@ -301,6 +301,8 @@ static ShiftResult shift(const QBezier *orig, QBezier *shifted, qreal offset, qr
     QPointF points_shifted[4];
 
     QLineF prev = QLineF(QPointF(), points[1] - points[0]);
+    if (!prev.length())
+        return Discard;
     QPointF prev_normal = prev.normalVector().unitVector().p2();
 
     points_shifted[0] = points[0] + offset * prev_normal;
-- 
2.25.1

openSUSE Build Service is sponsored by