aboutsummaryrefslogtreecommitdiff
path: root/src/conversions/unitconvert.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-01-13 18:09:35 +0100
committerKristian Evers <kristianevers@gmail.com>2020-01-13 22:13:58 +0100
commit1302fc04633e9b13489f17f77943b2d31370e221 (patch)
tree29103963ac22d62ff5acaf66cc4e42d497ecfd99 /src/conversions/unitconvert.cpp
parente18e4823ac91b1395cc0b3f30539340bc10ef38d (diff)
downloadPROJ-1302fc04633e9b13489f17f77943b2d31370e221.tar.gz
PROJ-1302fc04633e9b13489f17f77943b2d31370e221.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/unitconvert.cpp')
-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));