QLocale: Fix wrong assert
The endptr from reading the exponent of a 'g' form snprintf result should not be past the end of the string we're reading from. It has nothing to do with the 'e' sign. Task-number: QTBUG-54482 Change-Id: I8bdee917b8d21fdc94c255548ad7e008431a07fa Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
parent
3f64156e91
commit
de7f281d7a
@ -224,7 +224,7 @@ void doubleToAscii(double d, QLocaleData::DoubleForm form, int precision, char *
|
||||
const char *endptr;
|
||||
decpt = qstrtoll(target.data() + eSign + 1, &endptr, 10, &ok) + 1;
|
||||
Q_ASSERT(ok);
|
||||
Q_ASSERT(endptr - target.data() <= length - eSign -1);
|
||||
Q_ASSERT(endptr - target.data() <= length);
|
||||
} else {
|
||||
// No 'e' found, so it's the 'f' form. Variants of snprintf generate numbers with
|
||||
// potentially multiple digits before the '.', but without decimal exponent then. So we
|
||||
|
Loading…
x
Reference in New Issue
Block a user