[BACK]Return to skey.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / skey

Diff for /src/usr.bin/skey/skey.c between version 1.27 and 1.28

version 1.27, 2014/03/20 20:39:13 version 1.28, 2015/04/18 18:28:38
Line 27 
Line 27 
 #include <string.h>  #include <string.h>
 #include <err.h>  #include <err.h>
 #include <unistd.h>  #include <unistd.h>
   #include <limits.h>
 #include <skey.h>  #include <skey.h>
   
 void    usage(char *);  void    usage(char *);
Line 37 
Line 38 
         int     n, i, cnt = 1, pass = 0, hexmode = 0;          int     n, i, cnt = 1, pass = 0, hexmode = 0;
         char    passwd[SKEY_MAX_PW_LEN+1], key[SKEY_BINKEY_SIZE];          char    passwd[SKEY_MAX_PW_LEN+1], key[SKEY_BINKEY_SIZE];
         char    buf[33], *seed, *slash;          char    buf[33], *seed, *slash;
           const char *errstr;
   
         /* If we were called as otp-METHOD, set algorithm based on that */          /* If we were called as otp-METHOD, set algorithm based on that */
         if ((slash = strrchr(argv[0], '/')))          if ((slash = strrchr(argv[0], '/')))
Line 56 
Line 58 
                         case 'n':                          case 'n':
                                 if (++i == argc)                                  if (++i == argc)
                                         usage(argv[0]);                                          usage(argv[0]);
                                 cnt = atoi(argv[i]);                                  cnt = strtonum(argv[i], 1, SKEY_MAX_SEQ -1, &errstr);
                                   if (errstr)
                                           usage(argv[0]);
                                 break;                                  break;
                         case 'p':                          case 'p':
                                 if (++i == argc)                                  if (++i == argc)
Line 96 
Line 100 
                 *slash++ = '\0';                  *slash++ = '\0';
                 seed = slash;                  seed = slash;
   
                 if ((n = atoi(argv[i])) < 0) {                  n = strtonum(argv[i], 0, SKEY_MAX_SEQ, &errstr);
                         warnx("%d not positive", n);                  if (errstr) {
                           warnx("%s: %s", argv[i], errstr);
                         usage(argv[0]);                          usage(argv[0]);
                 } else if (n > SKEY_MAX_SEQ) {  
                         warnx("%d is larger than max (%d)", n, SKEY_MAX_SEQ);  
                         usage(argv[0]);  
                 }                  }
         } else {          } else {
                 if ((n = atoi(argv[i])) < 0) {                  n = strtonum(argv[i], 0, SKEY_MAX_SEQ, &errstr);
                         warnx("%d not positive", n);                  if (errstr) {
                         usage(argv[0]);                          warnx("%s: %s", argv[i], errstr);
                 } else if (n > SKEY_MAX_SEQ) {  
                         warnx("%d is larger than max (%d)", n, SKEY_MAX_SEQ);  
                         usage(argv[0]);                          usage(argv[0]);
                 }                  }
                 seed = argv[++i];                  seed = argv[++i];

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.28