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

Diff for /src/usr.bin/ssh/ssh-dss.c between version 1.30 and 1.31

version 1.30, 2014/01/09 23:20:00 version 1.31, 2014/02/02 03:44:31
Line 62 
Line 62 
         }          }
   
         sig = DSA_do_sign(digest, dlen, key->dsa);          sig = DSA_do_sign(digest, dlen, key->dsa);
         memset(digest, 'd', sizeof(digest));          explicit_bzero(digest, sizeof(digest));
   
         if (sig == NULL) {          if (sig == NULL) {
                 error("ssh_dss_sign: sign failed");                  error("ssh_dss_sign: sign failed");
Line 76 
Line 76 
                 DSA_SIG_free(sig);                  DSA_SIG_free(sig);
                 return -1;                  return -1;
         }          }
         memset(sigblob, 0, SIGBLOB_LEN);          explicit_bzero(sigblob, SIGBLOB_LEN);
         BN_bn2bin(sig->r, sigblob+ SIGBLOB_LEN - INTBLOB_LEN - rlen);          BN_bn2bin(sig->r, sigblob+ SIGBLOB_LEN - INTBLOB_LEN - rlen);
         BN_bn2bin(sig->s, sigblob+ SIGBLOB_LEN - slen);          BN_bn2bin(sig->s, sigblob+ SIGBLOB_LEN - slen);
         DSA_SIG_free(sig);          DSA_SIG_free(sig);
Line 165 
Line 165 
                 fatal("%s: BN_bin2bn failed", __func__);                  fatal("%s: BN_bin2bn failed", __func__);
   
         /* clean up */          /* clean up */
         memset(sigblob, 0, len);          explicit_bzero(sigblob, len);
         free(sigblob);          free(sigblob);
   
         /* sha1 the data */          /* sha1 the data */
Line 176 
Line 176 
         }          }
   
         ret = DSA_do_verify(digest, dlen, sig, key->dsa);          ret = DSA_do_verify(digest, dlen, sig, key->dsa);
         memset(digest, 'd', sizeof(digest));          explicit_bzero(digest, sizeof(digest));
   
         DSA_SIG_free(sig);          DSA_SIG_free(sig);
   

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31