The maximum count is SKEY_MAX_SEQ + 1 not SKEY_MAX_SEQ - 1.
authormillert <millert@openbsd.org>
Sat, 3 Aug 2024 22:00:31 +0000 (22:00 +0000)
committermillert <millert@openbsd.org>
Sat, 3 Aug 2024 22:00:31 +0000 (22:00 +0000)
Sequence numbers are in the range [0, SKEY_MAX_SEQ] inclusive.
This means the maximum value for the -n option (count) should be
SKEY_MAX_SEQ + 1.  From Denis Bodor.

usr.bin/skey/skey.c

index 4197b69..642e1ca 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: skey.c,v 1.35 2019/01/25 00:19:26 millert Exp $       */
+/*     $OpenBSD: skey.c,v 1.36 2024/08/03 22:00:31 millert Exp $       */
 /*
  * OpenBSD S/Key (skey.c)
  *
@@ -60,7 +60,8 @@ main(int argc, char *argv[])
                        case 'n':
                                if (++i == argc)
                                        usage();
-                               cnt = strtonum(argv[i], 1, SKEY_MAX_SEQ -1, &errstr);
+                               cnt = strtonum(argv[i], 1, SKEY_MAX_SEQ + 1,
+                                   &errstr);
                                if (errstr)
                                        usage();
                                break;