tdf#144319 fix formula load

regression from
    commit 67d83e40e2c4f3862c50e6abeabfc24a75119fc8
    Author: Noel Grandin <noelgrandin@gmail.com>
    Date:   Sat Dec 19 13:25:53 2020 +0200
    speedup rational_FromDouble

Change-Id: Icb728b63f950e827f1492087114f927c2f85ddb9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121719
Tested-by: Jenkins
Tested-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
(cherry picked from commit f8cf0d2cb4e5e18f48d6b3bfbc7d0e72e7ed5190)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121571
diff --git a/tools/source/generic/fract.cxx b/tools/source/generic/fract.cxx
index 7c0e850d..57dd4e7 100644
--- a/tools/source/generic/fract.cxx
+++ b/tools/source/generic/fract.cxx
@@ -43,6 +43,9 @@
    // https://github.com/boostorg/boost/issues/335 when these are std::numeric_limits<sal_Int32>::min
    if (n == d)
        return 1;
    // tdf#144319 avoid boost::bad_rational e.g. if numerator=-476741369, denominator=-2147483648
    if (d < -std::numeric_limits<sal_Int32>::max())
        return 0;
    return boost::rational<sal_Int32>(n, d);
}