summaryrefslogtreecommitdiff
path: root/lotuswordpro/inc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-01-06 20:00:05 +0000
committerCaolán McNamara <caolanm@redhat.com>2018-01-06 20:00:43 +0000
commit1ca9388900b8cf4aa1ae67533432acf37a94281e (patch)
tree252a4a29f0872aca3fa20311561fe1cc51790e46 /lotuswordpro/inc
parent6484dcf4bfd87ab090c94196e7a0d6342b240267 (diff)
ofz#4976 Integer-overflow
Change-Id: Iefba0ea6122bd9b1dde59f33c0c67077fecb7eca
Diffstat (limited to 'lotuswordpro/inc')
-rw-r--r--lotuswordpro/inc/lwpoverride.hxx11
1 files changed, 9 insertions, 2 deletions
diff --git a/lotuswordpro/inc/lwpoverride.hxx b/lotuswordpro/inc/lwpoverride.hxx
index d9df79894382..c5f616a15dad 100644
--- a/lotuswordpro/inc/lwpoverride.hxx
+++ b/lotuswordpro/inc/lwpoverride.hxx
@@ -63,6 +63,7 @@
#include "lwpobjid.hxx"
#include "lwptools.hxx"
+#include <o3tl/safeint.hxx>
#include <memory>
class LwpObjectStream;
@@ -434,11 +435,17 @@ private:
inline double LwpIndentOverride::GetFirst() const
{
- return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(m_nFirst-m_nRest));
+ sal_Int32 nRes;
+ if (o3tl::checked_sub(m_nFirst, m_nRest, nRes))
+ throw std::range_error("bad len");
+ return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(nRes));
}
inline double LwpIndentOverride::GetLeft() const
{
- return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(m_nAll+m_nRest));
+ sal_Int32 nRes;
+ if (o3tl::checked_add(m_nAll, m_nRest, nRes))
+ throw std::range_error("bad len");
+ return LwpTools::ConvertToMetric(LwpTools::ConvertFromUnits(nRes));
}
inline double LwpIndentOverride::GetRight() const
{