summaryrefslogtreecommitdiff
path: root/sdext/source/pdfimport/wrapper/wrapper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sdext/source/pdfimport/wrapper/wrapper.cxx')
-rw-r--r--sdext/source/pdfimport/wrapper/wrapper.cxx10
1 files changed, 8 insertions, 2 deletions
diff --git a/sdext/source/pdfimport/wrapper/wrapper.cxx b/sdext/source/pdfimport/wrapper/wrapper.cxx
index 5672249c3e15..f2439a5bb83c 100644
--- a/sdext/source/pdfimport/wrapper/wrapper.cxx
+++ b/sdext/source/pdfimport/wrapper/wrapper.cxx
@@ -261,13 +261,19 @@ std::string_view LineParser::readNextToken()
void LineParser::readInt32( sal_Int32& o_Value )
{
std::string_view tok = readNextToken();
- o_Value = rtl_str_toInt32_WithLength(tok.data(), 10, tok.size());
+ sal_Int64 n = rtl_str_toInt64_WithLength(tok.data(), 10, tok.size());
+ if (n < SAL_MIN_INT32 || n > SAL_MAX_INT32)
+ n = 0;
+ o_Value = n;
}
sal_Int32 LineParser::readInt32()
{
std::string_view tok = readNextToken();
- return rtl_str_toInt32_WithLength(tok.data(), 10, tok.size());
+ sal_Int64 n =rtl_str_toInt64_WithLength(tok.data(), 10, tok.size());
+ if (n < SAL_MIN_INT32 || n > SAL_MAX_INT32)
+ n = 0;
+ return n;
}
void LineParser::readInt64( sal_Int64& o_Value )