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

Diff for /src/usr.bin/ssh/ssh-agent.c between version 1.245 and 1.246

version 1.245, 2019/11/15 04:12:32 version 1.246, 2019/11/15 05:37:27
Line 409 
Line 409 
         u_char *signature = NULL;          u_char *signature = NULL;
         size_t dlen, slen = 0;          size_t dlen, slen = 0;
         u_int compat = 0, flags;          u_int compat = 0, flags;
         int r, ok = -1;          int was_shielded, r, r2, ok = -1;
         struct sshbuf *msg;          struct sshbuf *msg;
         struct sshkey *key = NULL;          struct sshkey *key = NULL;
         struct identity *id;          struct identity *id;
Line 432 
Line 432 
                 goto send;                  goto send;
         }          }
         if (id->sk_provider != NULL) {          if (id->sk_provider != NULL) {
                 if ((r = provider_sign(id->sk_provider, id->key, &signature,                  was_shielded = sshkey_is_shielded(id->key);
                   if ((r = sshkey_unshield_private(id->key)) != 0) {
                           error("%s: unshield: %s", __func__, ssh_err(r));
                           goto send;
                   }
                   r = provider_sign(id->sk_provider, id->key, &signature,
                     &slen, data, dlen, agent_decode_alg(key, flags),                      &slen, data, dlen, agent_decode_alg(key, flags),
                     compat)) != 0) {                      compat);
                   if (was_shielded &&
                       (r2 = sshkey_shield_private(id->key)) != 0) {
                           error("%s: shield: %s", __func__, ssh_err(r));
                           r = r2;
                           goto send;
                   }
                   if (r != 0) {
                         error("%s: sign: %s", __func__, ssh_err(r));                          error("%s: sign: %s", __func__, ssh_err(r));
                         goto send;                          goto send;
                 }                  }

Legend:
Removed from v.1.245  
changed lines
  Added in v.1.246