From 6c10c6b1dead65c4fef0fb04295cd360a54f5186 Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Mon, 14 Dec 2009 16:33:09 +0100 Subject: Fixed integer overflow in QTriangulator. The result of a function returning qint64 was stored in an int. --- src/opengl/gl2paintengineex/qtriangulator.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/opengl/gl2paintengineex/qtriangulator.cpp b/src/opengl/gl2paintengineex/qtriangulator.cpp index 21d4b2e..6a1112b 100644 --- a/src/opengl/gl2paintengineex/qtriangulator.cpp +++ b/src/opengl/gl2paintengineex/qtriangulator.cpp @@ -1779,7 +1779,7 @@ QPair::Node *, QRBTree::Node *> QTriangulator::ComplexToSimple while (current) { const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower()); const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper()); - int d = qPointDistanceFromLine(point, v1, v2); + qint64 d = qPointDistanceFromLine(point, v1, v2); if (d == 0) { result.first = result.second = current; break; @@ -1793,7 +1793,7 @@ QPair::Node *, QRBTree::Node *> QTriangulator::ComplexToSimple while (current) { const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower()); const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper()); - int d = qPointDistanceFromLine(point, v1, v2); + qint64 d = qPointDistanceFromLine(point, v1, v2); Q_ASSERT(d >= 0); if (d == 0) { result.first = current; @@ -1807,7 +1807,7 @@ QPair::Node *, QRBTree::Node *> QTriangulator::ComplexToSimple while (current) { const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower()); const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper()); - int d = qPointDistanceFromLine(point, v1, v2); + qint64 d = qPointDistanceFromLine(point, v1, v2); Q_ASSERT(d <= 0); if (d == 0) { result.second = current; @@ -1828,7 +1828,7 @@ QPair::Node *, QRBTree::Node *> QTriangulator::ComplexToSimple while (current) { const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower()); const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper()); - int d = qPointDistanceFromLine(point, v1, v2); + qint64 d = qPointDistanceFromLine(point, v1, v2); if (d == 0) break; if (d < 0) { @@ -1849,7 +1849,7 @@ QPair::Node *, QRBTree::Node *> QTriangulator::ComplexToSimple while (current) { const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower()); const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper()); - int d = qPointDistanceFromLine(point, v1, v2); + qint64 d = qPointDistanceFromLine(point, v1, v2); Q_ASSERT(d >= 0); if (d == 0) { current = current->left; @@ -1863,7 +1863,7 @@ QPair::Node *, QRBTree::Node *> QTriangulator::ComplexToSimple while (current) { const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower()); const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper()); - int d = qPointDistanceFromLine(point, v1, v2); + qint64 d = qPointDistanceFromLine(point, v1, v2); Q_ASSERT(d <= 0); if (d == 0) { current = current->right; -- cgit v0.12