aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/projections/urm5.cpp6
-rw-r--r--src/strerrno.cpp4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/projections/urm5.cpp b/src/projections/urm5.cpp
index a93293c0..f89bb1d5 100644
--- a/src/projections/urm5.cpp
+++ b/src/projections/urm5.cpp
@@ -45,7 +45,11 @@ PJ *PROJECTION(urm5) {
Q->q3 = pj_param(P->ctx, P->params, "dq").f / 3.;
alpha = pj_param(P->ctx, P->params, "ralpha").f;
t = Q->n * sin (alpha);
- Q->m = cos (alpha) / sqrt (1. - t * t);
+ const double denom = sqrt (1. - t * t);
+ if( denom == 0 ) {
+ return pj_default_destructor(P, PJD_ERR_LAT_0_OR_ALPHA_EQ_90);
+ }
+ Q->m = cos (alpha) / denom;
Q->rmn = 1. / (Q->m * Q->n);
P->es = 0.;
diff --git a/src/strerrno.cpp b/src/strerrno.cpp
index a9310a55..20255747 100644
--- a/src/strerrno.cpp
+++ b/src/strerrno.cpp
@@ -40,8 +40,8 @@ pj_err_list[] = {
"path not in range", /* -29 */
"h <= 0", /* -30 */
"k <= 0", /* -31 */
- "lat_0 = 0 or 90 or alpha = 90", /* -32 */
- "lat_1=lat_2 or lat_1=0 or lat_2=90", /* -33 */
+ "lat_1=lat_2 or lat_1=0 or lat_2=90", /* -32 */
+ "lat_0 = 0 or 90 or alpha = 90", /* -33 */
"elliptical usage required", /* -34 */
"invalid UTM zone number", /* -35 */
"", /* no longer used */ /* -36 */