aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-03-12 23:50:28 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-03-14 20:25:12 +0100
commit5b0a54f8d7ab0bd15a81352566f21d932facbb2c (patch)
tree66ce5401083982fee770039bb6ce3653e4b7d0c6 /src
parent6459f4fe68e38fba7cb2000523843d5fa84332cc (diff)
downloadPROJ-5b0a54f8d7ab0bd15a81352566f21d932facbb2c.tar.gz
PROJ-5b0a54f8d7ab0bd15a81352566f21d932facbb2c.zip
Avoid 'invalidscanf,scanf without field width limits can crash with huge input data on some versions of libc' with older cppcheck versions
Diffstat (limited to 'src')
-rw-r--r--src/cct.c1
-rw-r--r--src/nad2bin.c3
2 files changed, 4 insertions, 0 deletions
diff --git a/src/cct.c b/src/cct.c
index 57e53f97..8096986d 100644
--- a/src/cct.c
+++ b/src/cct.c
@@ -202,6 +202,7 @@ int main(int argc, char **argv) {
}
if (opt_given (o, "c")) {
+ /* cppcheck-suppress invalidscanf */
int ncols = sscanf (opt_arg (o, "c"), "%d,%d,%d,%d", columns_xyzt, columns_xyzt+1, columns_xyzt+2, columns_xyzt+3);
if (ncols != nfields) {
fprintf (stderr, "%s: Too few input columns given: '%s'\n", o->progname, opt_arg (o, "c"));
diff --git a/src/nad2bin.c b/src/nad2bin.c
index afb7d818..0c337513 100644
--- a/src/nad2bin.c
+++ b/src/nad2bin.c
@@ -103,6 +103,7 @@ int main(int argc, char **argv) {
perror("fgets");
exit(1);
}
+ /* cppcheck-suppress invalidscanf */
if ( EOF == scanf("%d %d %*d %lf %lf %lf %lf", &ct.lim.lam, &ct.lim.phi,
&ct.ll.lam, &ct.del.lam, &ct.ll.phi, &ct.del.phi) ) {
perror("scanf");
@@ -119,6 +120,7 @@ int main(int argc, char **argv) {
ct.del.phi *= DEG_TO_RAD;
/* load table */
for (p = ct.cvs, i = 0; i < ct.lim.phi; ++i) {
+ /* cppcheck-suppress invalidscanf */
if ( EOF == scanf("%d:%ld %ld", &ichk, &laml, &phil) ) {
perror("scanf on row");
exit(1);
@@ -131,6 +133,7 @@ int main(int argc, char **argv) {
t.phi = (float) (phil * U_SEC_TO_RAD);
*p++ = t;
for (j = 1; j < ct.lim.lam; ++j) {
+ /* cppcheck-suppress invalidscanf */
if ( EOF == scanf("%ld %ld", &lam, &phi) ) {
perror("scanf on column");
exit(1);