diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-04-19 23:47:39 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-04-20 09:19:41 +0200 |
| commit | 8a31ed4036888ff2039919f8c998a90cb2143bc2 (patch) | |
| tree | 25302c86a4161a2e11a076a9e3c9cb4bf8b418c7 /src/apps/cs2cs.cpp | |
| parent | e1da8e5f6933bfb914dccb26a755a23b5ce9f36f (diff) | |
| download | PROJ-8a31ed4036888ff2039919f8c998a90cb2143bc2.tar.gz PROJ-8a31ed4036888ff2039919f8c998a90cb2143bc2.zip | |
proj/cs2cs: validate value of -f parameter to avoid potential crashes (fixes #124)
Diffstat (limited to 'src/apps/cs2cs.cpp')
| -rw-r--r-- | src/apps/cs2cs.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/apps/cs2cs.cpp b/src/apps/cs2cs.cpp index 877a68ff..40b0d584 100644 --- a/src/apps/cs2cs.cpp +++ b/src/apps/cs2cs.cpp @@ -45,6 +45,7 @@ #include "proj.h" #include "proj_internal.h" #include "emess.h" +#include "utils.h" // clang-format on #define MAX_LINE 1000 @@ -522,6 +523,13 @@ int main(int argc, char **argv) { if (eargc == 0) /* if no specific files force sysin */ eargv[eargc++] = const_cast<char *>("-"); + if( oform ) { + if( !validate_form_string_for_numbers(oform) ) { + emess(3, "invalid format string"); + exit(0); + } + } + /* * If the user has requested inverse, then just reverse the * coordinate systems. |
