From abad23412f0920276c32567c8f237be23aa94941 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sat, 2 Feb 2019 11:25:36 +0100 Subject: pj_ellipsoid(): avoid division by zero when R=0. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12843. Credit to OSS Fuzz --- src/ell_set.cpp | 3 ++- test/gie/ellipsoid.gie | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ell_set.cpp b/src/ell_set.cpp index f4228be8..4c9fc892 100644 --- a/src/ell_set.cpp +++ b/src/ell_set.cpp @@ -88,7 +88,8 @@ int pj_ellipsoid (PJ *P) { /* Specifying R overrules everything */ if (pj_get_param (P->params, "R")) { - ellps_size (P); + if (0 != ellps_size (P)) + return 1; pj_calc_ellipsoid_params (P, P->a, 0); if (proj_errno (P)) return 1; diff --git a/test/gie/ellipsoid.gie b/test/gie/ellipsoid.gie index 929eb799..ea7f3888 100644 --- a/test/gie/ellipsoid.gie +++ b/test/gie/ellipsoid.gie @@ -64,6 +64,9 @@ expect 0 0 operation proj=merc +es=-1 expect failure errno major_axis_not_given +operation proj=merc +R=0 +expect failure errno major_axis_not_given + operation expect failure operation cobra -- cgit v1.2.3