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

Diff for /src/usr.bin/ssh/ssh-rsa.c between version 1.64 and 1.65

version 1.64, 2017/12/18 23:14:34 version 1.65, 2018/02/07 05:17:56
Line 115 
Line 115 
     const u_char *data, size_t datalen, const char *alg_ident)      const u_char *data, size_t datalen, const char *alg_ident)
 {  {
         u_char digest[SSH_DIGEST_MAX_LENGTH], *sig = NULL;          u_char digest[SSH_DIGEST_MAX_LENGTH], *sig = NULL;
         size_t slen;          size_t slen = 0;
         u_int dlen, len;          u_int dlen, len;
         int nid, hash_alg, ret = SSH_ERR_INTERNAL_ERROR;          int nid, hash_alg, ret = SSH_ERR_INTERNAL_ERROR;
         struct sshbuf *b = NULL;          struct sshbuf *b = NULL;
Line 184 
Line 184 
         ret = 0;          ret = 0;
  out:   out:
         explicit_bzero(digest, sizeof(digest));          explicit_bzero(digest, sizeof(digest));
         if (sig != NULL) {          freezero(sig, slen);
                 explicit_bzero(sig, slen);  
                 free(sig);  
         }  
         sshbuf_free(b);          sshbuf_free(b);
         return ret;          return ret;
 }  }
Line 199 
Line 196 
 {  {
         char *sigtype = NULL;          char *sigtype = NULL;
         int hash_alg, ret = SSH_ERR_INTERNAL_ERROR;          int hash_alg, ret = SSH_ERR_INTERNAL_ERROR;
         size_t len, diff, modlen, dlen;          size_t len = 0, diff, modlen, dlen;
         struct sshbuf *b = NULL;          struct sshbuf *b = NULL;
         u_char digest[SSH_DIGEST_MAX_LENGTH], *osigblob, *sigblob = NULL;          u_char digest[SSH_DIGEST_MAX_LENGTH], *osigblob, *sigblob = NULL;
   
Line 264 
Line 261 
         ret = openssh_RSA_verify(hash_alg, digest, dlen, sigblob, len,          ret = openssh_RSA_verify(hash_alg, digest, dlen, sigblob, len,
             key->rsa);              key->rsa);
  out:   out:
         if (sigblob != NULL) {          freezero(sigblob, len);
                 explicit_bzero(sigblob, len);  
                 free(sigblob);  
         }  
         free(sigtype);          free(sigtype);
         sshbuf_free(b);          sshbuf_free(b);
         explicit_bzero(digest, sizeof(digest));          explicit_bzero(digest, sizeof(digest));
Line 389 
Line 383 
         }          }
         ret = 0;          ret = 0;
 done:  done:
         if (decrypted) {          freezero(decrypted, rsasize);
                 explicit_bzero(decrypted, rsasize);  
                 free(decrypted);  
         }  
         return ret;          return ret;
 }  }

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.65