diff options
author | Junio C Hamano <gitster@pobox.com> | 2022-10-11 10:36:11 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2022-10-11 10:36:11 -0700 |
commit | 644195e02f445bf4fcf79e47c339f593c7646c9e (patch) | |
tree | a4b1872150b92d172b1df33c139447d7b8799acf /gpg-interface.c | |
parent | 601bb23876bdff60e14b000f1e9f53a5dc4259ff (diff) | |
parent | 36fb0d07d83df475bc6b716795b2111f8408cbcf (diff) | |
download | git-644195e02f445bf4fcf79e47c339f593c7646c9e.tar.gz |
Merge branch 'pw/ssh-sign-report-errors'
The codepath to sign learned to report errors when it fails to read
from "ssh-keygen".
* pw/ssh-sign-report-errors:
ssh signing: return an error when signature cannot be read
Diffstat (limited to 'gpg-interface.c')
-rw-r--r-- | gpg-interface.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gpg-interface.c b/gpg-interface.c index 9aa714bdee..f877a1ea56 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -1059,12 +1059,11 @@ static int sign_buffer_ssh(struct strbuf *buffer, struct strbuf *signature, strbuf_addbuf(&ssh_signature_filename, &buffer_file->filename); strbuf_addstr(&ssh_signature_filename, ".sig"); if (strbuf_read_file(signature, ssh_signature_filename.buf, 0) < 0) { - error_errno( + ret = error_errno( _("failed reading ssh signing data buffer from '%s'"), ssh_signature_filename.buf); + goto out; } - unlink_or_warn(ssh_signature_filename.buf); - /* Strip CR from the line endings, in case we are on Windows. */ remove_cr_after(signature, bottom); @@ -1073,6 +1072,8 @@ out: delete_tempfile(&key_file); if (buffer_file) delete_tempfile(&buffer_file); + if (ssh_signature_filename.len) + unlink_or_warn(ssh_signature_filename.buf); strbuf_release(&signer_stderr); strbuf_release(&ssh_signature_filename); FREE_AND_NULL(ssh_signing_key_file); |