diff options
Diffstat (limited to 'src/pj_init.c')
| -rw-r--r-- | src/pj_init.c | 8 |
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; |
