| Index: fpdfsdk/javascript/PublicMethods.cpp
|
| diff --git a/fpdfsdk/javascript/PublicMethods.cpp b/fpdfsdk/javascript/PublicMethods.cpp
|
| index bfe48d5b65a9906b6b54356bdd38d79be8c32112..c0ea84c0aece0caeb73b0477709a9950e5740960 100644
|
| --- a/fpdfsdk/javascript/PublicMethods.cpp
|
| +++ b/fpdfsdk/javascript/PublicMethods.cpp
|
| @@ -8,6 +8,7 @@
|
|
|
| #include <algorithm>
|
| #include <iomanip>
|
| +#include <limits>
|
| #include <sstream>
|
| #include <string>
|
| #include <vector>
|
| @@ -95,6 +96,11 @@ CFX_ByteString CalculateString(double dValue,
|
| *bNegative = dValue < 0;
|
| if (*bNegative)
|
| dValue = -dValue;
|
| +
|
| + // Make sure the number of precision characters will fit.
|
| + if (iDec > std::numeric_limits<double>::digits10)
|
| + iDec = std::numeric_limits<double>::digits10;
|
| +
|
| std::stringstream ss;
|
| ss << std::fixed << std::setprecision(iDec) << dValue;
|
| std::string stringValue = ss.str();
|
|
|