diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-04-15 23:47:40 +0200 |
|---|---|---|
| committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2021-04-15 21:48:11 +0000 |
| commit | e4d0c40f8247214bc0069fc6eafc13122464e413 (patch) | |
| tree | f3c2672f50650c2769bdf09a3b1f970756125ce2 /src/param.cpp | |
| parent | e03a9aacec01aa8082304c192f34fd26b95a5e11 (diff) | |
| download | PROJ-e4d0c40f8247214bc0069fc6eafc13122464e413.tar.gz PROJ-e4d0c40f8247214bc0069fc6eafc13122464e413.zip | |
Merge pull request #2672 from rouault/utm_invalid_zone
utm: error out when value of +zone= is not an integer (fixes #2671)
Diffstat (limited to 'src/param.cpp')
| -rw-r--r-- | src/param.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/param.cpp b/src/param.cpp index a716f9b9..21afc57f 100644 --- a/src/param.cpp +++ b/src/param.cpp @@ -201,6 +201,14 @@ PROJVALUE pj_param (PJ_CONTEXT *ctx, paralist *pl, const char *opt) { switch (type) { case 'i': /* integer input */ value.i = atoi(opt); + for( const char* ptr = opt; *ptr != '\0'; ++ptr ) + { + if( !(*ptr >= '0' && *ptr <= '9') ) + { + proj_context_errno_set (ctx, PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE); + value.i = 0; + } + } break; case 'd': /* simple real input */ value.f = pj_atof(opt); |
