aboutsummaryrefslogtreecommitdiff
path: root/src/apps/cs2cs.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-04-19 23:47:39 +0200
committerEven Rouault <even.rouault@spatialys.com>2019-04-20 09:19:41 +0200
commit8a31ed4036888ff2039919f8c998a90cb2143bc2 (patch)
tree25302c86a4161a2e11a076a9e3c9cb4bf8b418c7 /src/apps/cs2cs.cpp
parente1da8e5f6933bfb914dccb26a755a23b5ce9f36f (diff)
downloadPROJ-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.cpp8
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.