sequencer: avoid using errno clobbered by rollback_lock_file()
As pointed out in a review of the `--rebase-merges` patch series, `rollback_lock_file()` clobbers errno. Therefore, we have to report the error message that uses errno before calling said function. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
1f1cddd558
commit
bf5c0571d6
10
sequencer.c
10
sequencer.c
@ -346,12 +346,14 @@ static int write_message(const void *buf, size_t len, const char *filename,
|
||||
if (msg_fd < 0)
|
||||
return error_errno(_("could not lock '%s'"), filename);
|
||||
if (write_in_full(msg_fd, buf, len) < 0) {
|
||||
error_errno(_("could not write to '%s'"), filename);
|
||||
rollback_lock_file(&msg_file);
|
||||
return error_errno(_("could not write to '%s'"), filename);
|
||||
return -1;
|
||||
}
|
||||
if (append_eol && write(msg_fd, "\n", 1) < 0) {
|
||||
error_errno(_("could not write eol to '%s'"), filename);
|
||||
rollback_lock_file(&msg_file);
|
||||
return error_errno(_("could not write eol to '%s'"), filename);
|
||||
return -1;
|
||||
}
|
||||
if (commit_lock_file(&msg_file) < 0)
|
||||
return error(_("failed to finalize '%s'"), filename);
|
||||
@ -2125,9 +2127,9 @@ static int save_head(const char *head)
|
||||
written = write_in_full(fd, buf.buf, buf.len);
|
||||
strbuf_release(&buf);
|
||||
if (written < 0) {
|
||||
error_errno(_("could not write to '%s'"), git_path_head_file());
|
||||
rollback_lock_file(&head_lock);
|
||||
return error_errno(_("could not write to '%s'"),
|
||||
git_path_head_file());
|
||||
return -1;
|
||||
}
|
||||
if (commit_lock_file(&head_lock) < 0)
|
||||
return error(_("failed to finalize '%s'"), git_path_head_file());
|
||||
|
Loading…
Reference in New Issue
Block a user