aboutsummaryrefslogtreecommitdiff
path: root/src/pj_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pj_init.c')
-rw-r--r--src/pj_init.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pj_init.c b/src/pj_init.c
index fefcb8fa..bac40740 100644
--- a/src/pj_init.c
+++ b/src/pj_init.c
@@ -621,6 +621,10 @@ pj_init_ctx(projCtx ctx, int argc, char **argv) {
PIN->to_meter = pj_strtod(s, &s);
if (*s == '/') /* ratio number */
PIN->to_meter /= pj_strtod(++s, 0);
+ if (PIN->to_meter <= 0.0) {
+ pj_ctx_set_errno( ctx, -51);
+ goto bum_call;
+ }
PIN->fr_meter = 1. / PIN->to_meter;
} else
PIN->to_meter = PIN->fr_meter = 1.;
@@ -636,6 +640,10 @@ pj_init_ctx(projCtx ctx, int argc, char **argv) {
PIN->vto_meter = pj_strtod(s, &s);
if (*s == '/') /* ratio number */
PIN->vto_meter /= pj_strtod(++s, 0);
+ if (PIN->vto_meter <= 0.0) {
+ pj_ctx_set_errno( ctx, -51);
+ goto bum_call;
+ }
PIN->vfr_meter = 1. / PIN->vto_meter;
} else {
PIN->vto_meter = PIN->to_meter;