summaryrefslogtreecommitdiffstats
path: root/src/corelib/text
diff options
context:
space:
mode:
authorMårten Nordheim <marten.nordheim@qt.io>2021-07-26 20:13:09 +0200
committerMårten Nordheim <marten.nordheim@qt.io>2021-07-29 10:53:08 +0000
commita7fd46bb4b9aab3079ccdd878297cb59a441b934 (patch)
tree0b14df2b3acdad2522aad8061ab6e0999b5df137 /src/corelib/text
parenta1fbfabc662f69f5c0c948519f28be92917a76c6 (diff)
doubleToString: Fix assert when double is NaN
wholePartSpace asserts that its input is >= 0, but NaN is not a number Change-Id: Iafc075663d5f8841f21edf0a3d4d36694287a51f Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> (cherry picked from commit 3b8127c3fcf07905180e274c7e554aaa757963c3) Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/text')
-rw-r--r--src/corelib/text/qlocale.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/text/qlocale.cpp b/src/corelib/text/qlocale.cpp
index c7cecce37f..d5cde8a69d 100644
--- a/src/corelib/text/qlocale.cpp
+++ b/src/corelib/text/qlocale.cpp
@@ -3384,7 +3384,7 @@ QString QLocaleData::doubleToString(double d, int precision, DoubleForm form,
int bufSize = 1;
if (precision == QLocale::FloatingPointShortest)
bufSize += std::numeric_limits<double>::max_digits10;
- else if (form == DFDecimal)
+ else if (form == DFDecimal && qIsFinite(d))
bufSize += wholePartSpace(qAbs(d)) + precision;
else // Add extra digit due to different interpretations of precision. Also, "nan" has to fit.
bufSize += qMax(2, precision) + 1;