sc/source/core/tool/interpr2.cxx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
New commits: commit fa293f7d6792a2beab048461c8a067e9ca980bb8 Author: Caolán McNamara <caol...@redhat.com> Date: Fri Jul 29 12:52:19 2016 +0100 use div() instead of /0 to content ubsan for the same reason as... commit fb2c146752074b132d665e40343a08dcb2e6672e Author: Eike Rathke <er...@redhat.com> Date: Mon Jul 25 13:32:17 2016 +0200 use div() instead of /0 to content ubsan While we do handle double floating point division by 0 at least on IEEE754 systems, ubsan builds mock about. Change-Id: I2c96b63a4af3cb2e8483a1d0f2da91ea82da227c diff --git a/sc/source/core/tool/interpr2.cxx b/sc/source/core/tool/interpr2.cxx index 9c8f5e3..1723059 100644 --- a/sc/source/core/tool/interpr2.cxx +++ b/sc/source/core/tool/interpr2.cxx @@ -1872,11 +1872,11 @@ double ScInterpreter::ScGetRmz(double fRate, double fNper, double fPv, else { if (bPayInAdvance) // payment in advance - fPayment = (fFv + fPv * exp( fNper * ::rtl::math::log1p(fRate) ) ) * fRate / - (::rtl::math::expm1( (fNper + 1) * ::rtl::math::log1p(fRate) ) - fRate); + fPayment = div((fFv + fPv * exp( fNper * ::rtl::math::log1p(fRate) ) ) * fRate, + (::rtl::math::expm1( (fNper + 1) * ::rtl::math::log1p(fRate) ) - fRate)); else // payment in arrear - fPayment = (fFv + fPv * exp(fNper * ::rtl::math::log1p(fRate) ) ) * fRate / - ::rtl::math::expm1( fNper * ::rtl::math::log1p(fRate) ); + fPayment = div((fFv + fPv * exp(fNper * ::rtl::math::log1p(fRate) ) ) * fRate, + ::rtl::math::expm1( fNper * ::rtl::math::log1p(fRate) )); } return -fPayment; }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits