src/lib/Coordinate.h      |    4 ++--
 src/lib/MSPUBParser97.cpp |   12 +++++-------
 2 files changed, 7 insertions(+), 9 deletions(-)

New commits:
commit fcfdbdf6d0481e8c709f8033181e8da09142cff9
Author: David Tardon <[email protected]>
Date:   Tue May 2 16:31:18 2017 +0200

    ofz#1004 fix signed integer overflow
    
    Change-Id: I2cb4414464fe62c2b88b6cdcda3a9ba52cf82800

diff --git a/src/lib/Coordinate.h b/src/lib/Coordinate.h
index f15ffb4..336eb09 100644
--- a/src/lib/Coordinate.h
+++ b/src/lib/Coordinate.h
@@ -27,11 +27,11 @@ struct Coordinate
   }
   double getWidthIn() const
   {
-    return double(m_xe - m_xs) / EMUS_IN_INCH;
+    return double(int64_t(m_xe) - m_xs) / EMUS_IN_INCH;
   }
   double getHeightIn() const
   {
-    return double(m_ye - m_ys) / EMUS_IN_INCH;
+    return double(int64_t(m_ye) - m_ys) / EMUS_IN_INCH;
   }
 };
 }
commit 6a7bc865eac08ab145b15e504b931e040700015e
Author: David Tardon <[email protected]>
Date:   Tue May 2 16:26:40 2017 +0200

    ofz#1288 fix signed integer overflow
    
    Change-Id: I282a6c1b1c5d4ce95d73e6bc59c4e5be574f0802

diff --git a/src/lib/MSPUBParser97.cpp b/src/lib/MSPUBParser97.cpp
index f3b29a2..867a1cf 100644
--- a/src/lib/MSPUBParser97.cpp
+++ b/src/lib/MSPUBParser97.cpp
@@ -9,6 +9,7 @@
 
 #include "MSPUBParser97.h"
 
+#include <limits>
 #include <memory>
 #include <utility>
 
@@ -263,14 +264,11 @@ MSPUBParser97::TextInfo97 
MSPUBParser97::getTextInfo(librevenge::RVNGInputStream
 
 int MSPUBParser97::translateCoordinateIfNecessary(int coordinate) const
 {
-  if (m_isBanner)
-  {
-    return coordinate - 120 * EMUS_IN_INCH;
-  }
+  const int offset = (m_isBanner ? 120 : 25) * EMUS_IN_INCH;
+  if (std::numeric_limits<int>::min() + offset > coordinate)
+    return std::numeric_limits<int>::min();
   else
-  {
-    return coordinate - 25 * EMUS_IN_INCH;
-  }
+    return coordinate - offset;
 }
 
 unsigned MSPUBParser97::getFirstLineOffset() const
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to