aboutsummaryrefslogtreecommitdiff
path: root/src/conversions
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-01-13 18:09:35 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-01-13 18:09:38 +0100
commit3f3af95e0a7f421c84617ce21a2bae1c01368397 (patch)
treee252da9d24de2e18a0bf0da3f4093c0a489f192f /src/conversions
parent542359e993e93b75907b2c2a12da38fe83d5c349 (diff)
downloadPROJ-3f3af95e0a7f421c84617ce21a2bae1c01368397.tar.gz
PROJ-3f3af95e0a7f421c84617ce21a2bae1c01368397.zip
unitconvert with mjd time format: avoid potential integer overflow
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20072
Diffstat (limited to 'src/conversions')
-rw-r--r--src/conversions/unitconvert.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/conversions/unitconvert.cpp b/src/conversions/unitconvert.cpp
index 8472355d..f8439aee 100644
--- a/src/conversions/unitconvert.cpp
+++ b/src/conversions/unitconvert.cpp
@@ -164,7 +164,8 @@ static double decimalyear_to_mjd(double decimalyear) {
double fractional_year;
double mjd;
- if( decimalyear < -10000 || decimalyear > 10000 )
+ // Written this way to deal with NaN input
+ if( !(decimalyear >= -10000 && decimalyear <= 10000) )
return 0;
year = lround(floor(decimalyear));