Hi tech@, this diff removes the atoi(3) call from keynote(1).
fritjof Index: keynote-keygen.c =================================================================== RCS file: /cvs/src/lib/libkeynote/keynote-keygen.c,v retrieving revision 1.21 diff -u -p -r1.21 keynote-keygen.c --- keynote-keygen.c 29 Jun 2004 11:35:56 -0000 1.21 +++ keynote-keygen.c 16 Jan 2015 19:44:42 -0000 @@ -24,6 +24,7 @@ #include <ctype.h> #include <fcntl.h> +#include <limits.h> #include <regex.h> #include <stdio.h> #include <stdlib.h> @@ -106,6 +107,7 @@ keynote_keygen(int argc, char *argv[]) RSA *rsa; FILE *fp; char *algname; + const char *errstr; if ((argc != 5) && (argc != 6) && (argc != 7)) { @@ -135,8 +137,8 @@ keynote_keygen(int argc, char *argv[]) if (argc > 5) { - begin = atoi(argv[5]); - if (begin <= -1) + begin = strtonum(argv[5], 0, INT_MAX, &errstr); + if (errstr) { fprintf(stderr, "Erroneous value for print-offset parameter.\n"); exit(1); @@ -145,8 +147,8 @@ keynote_keygen(int argc, char *argv[]) if (argc > 6) { - prlen = atoi(argv[6]); - if (prlen <= 0) + prlen = strtonum(argv[6], 1, INT_MAX, &errstr); + if (errstr) { fprintf(stderr, "Erroneous value for print-length parameter.\n"); exit(1); @@ -162,9 +164,9 @@ keynote_keygen(int argc, char *argv[]) } alg = keynote_get_key_algorithm(algname, &enc, &ienc); - len = atoi(argv[2]); + len = strtonum(argv[2], 1, INT_MAX, &errstr); - if (len <= 0) + if (errstr) { fprintf(stderr, "Invalid specified keysize %d\n", len); exit(1); Index: keynote-sign.c =================================================================== RCS file: /cvs/src/lib/libkeynote/keynote-sign.c,v retrieving revision 1.16 diff -u -p -r1.16 keynote-sign.c --- keynote-sign.c 29 Jun 2004 11:35:56 -0000 1.16 +++ keynote-sign.c 16 Jan 2015 19:44:46 -0000 @@ -23,6 +23,7 @@ #include <sys/stat.h> #include <ctype.h> +#include <limits.h> #include <regex.h> #include <stdio.h> #include <stdlib.h> @@ -50,6 +51,7 @@ keynote_sign(int argc, char *argv[]) char *buf, *buf2, *sig, *algname; int fd, flg = 0, buflen; struct stat sb; + const char *errstr; if ((argc != 4) && (argc != 5) && @@ -65,8 +67,8 @@ keynote_sign(int argc, char *argv[]) if (argc > 4 + flg) { - begin = atoi(argv[4 + flg]); - if (begin <= -1) + begin = strtonum(argv[4 + flg], 0, INT_MAX, &errstr); + if (errstr) { fprintf(stderr, "Erroneous value for print-offset parameter.\n"); exit(1); @@ -75,8 +77,8 @@ keynote_sign(int argc, char *argv[]) if (argc > 5 + flg) { - prlen = atoi(argv[5 + flg]); - if (prlen <= 0) + prlen = strtonum(argv[5 + flg], 1, INT_MAX, &errstr); + if (errstr) { fprintf(stderr, "Erroneous value for print-length parameter.\n"); exit(1);
pgp__Xagg7l1q.pgp
Description: PGP signature