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

Diff for /src/usr.bin/ssh/ssh-keygen.c between version 1.466 and 1.469

version 1.466, 2023/03/08 00:05:37 version 1.469, 2023/07/14 05:31:44
Line 976 
Line 976 
                  * accept a public key prefixed with a hostname or options.                   * accept a public key prefixed with a hostname or options.
                  * Try a bare key first, otherwise skip the leading stuff.                   * Try a bare key first, otherwise skip the leading stuff.
                  */                   */
                   comment = NULL;
                 if ((public = try_read_key(&cp)) == NULL) {                  if ((public = try_read_key(&cp)) == NULL) {
                         i = strtol(cp, &ep, 10);                          i = strtol(cp, &ep, 10);
                         if (i == 0 || ep == NULL ||                          if (i == 0 || ep == NULL ||
Line 1163 
Line 1164 
         case HKF_STATUS_OK:          case HKF_STATUS_OK:
         case HKF_STATUS_MATCHED:          case HKF_STATUS_MATCHED:
                 /*                  /*
                  * Don't hash hosts already already hashed, with wildcard                   * Don't hash hosts already hashed, with wildcard
                  * characters or a CA/revocation marker.                   * characters or a CA/revocation marker.
                  */                   */
                 if (was_hashed || has_wild || l->marker != MRK_NONE) {                  if (was_hashed || has_wild || l->marker != MRK_NONE) {
Line 2222 
Line 2223 
          * OpenSSH base64 hashes omit trailing '='           * OpenSSH base64 hashes omit trailing '='
          * characters; put them back for decode.           * characters; put them back for decode.
          */           */
         tlen = strlen(cp);          if ((tlen = strlen(cp)) >= SIZE_MAX - 5)
                   fatal_f("hash too long: %zu bytes", tlen);
         tmp = xmalloc(tlen + 4 + 1);          tmp = xmalloc(tlen + 4 + 1);
         strlcpy(tmp, cp, tlen + 1);          strlcpy(tmp, cp, tlen + 1);
         while ((tlen % 4) != 0) {          while ((tlen % 4) != 0) {
Line 2264 
Line 2266 
         if (!quiet)          if (!quiet)
                 printf("Revoking from %s\n", path);                  printf("Revoking from %s\n", path);
         while (getline(&line, &linesize, krl_spec) != -1) {          while (getline(&line, &linesize, krl_spec) != -1) {
                   if (linesize >= INT_MAX) {
                           fatal_f("%s contains unparsable line, len=%zu",
                               path, linesize);
                   }
                 lnum++;                  lnum++;
                 was_explicit_key = was_sha1 = was_sha256 = was_hash = 0;                  was_explicit_key = was_sha1 = was_sha256 = was_hash = 0;
                 cp = line + strspn(line, " \t");                  cp = line + strspn(line, " \t");

Legend:
Removed from v.1.466  
changed lines
  Added in v.1.469