From deb925b1b6dccec5c36a3d0a302fcb5ec58b040d Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 14 Oct 2013 18:13:14 -0700 Subject: Change an addition into a subtraction This potentially resolves the long-standing warning from GCC: assuming signed overflow does not occur when assuming that (X + c) < X is always false GCC prints the warning to warn people that you can't check for overflow with signed integers by doing that (signed integers don't overflow in the standard). If we change this to X < X - c, there's no overflow. Task-number: QTBUG-33314 Change-Id: I5b166610a39559ec7b03c4c31ee5999efefa0c06 Reviewed-by: Olivier Goffart --- src/corelib/tools/qlist.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h index b795bbc86e..333ce72849 100644 --- a/src/corelib/tools/qlist.h +++ b/src/corelib/tools/qlist.h @@ -639,7 +639,7 @@ inline void QList::move(int from, int to) template Q_OUTOFLINE_TEMPLATE QList QList::mid(int pos, int alength) const { - if (alength < 0 || pos + alength > size()) + if (alength < 0 || pos > size() - alength) alength = size() - pos; if (pos == 0 && alength == size()) return *this; -- cgit v1.2.3