diff options
-rw-r--r-- | diff.c | 4 | ||||
-rw-r--r-- | gpg-interface.c | 4 | ||||
-rw-r--r-- | shallow.c | 4 |
3 files changed, 6 insertions, 6 deletions
@@ -3738,9 +3738,9 @@ static void prep_temp_blob(const char *path, struct diff_tempfile *temp, blob = buf.buf; size = buf.len; } - if (write_in_full(fd, blob, size) != size) + if (write_in_full(fd, blob, size) != size || + close_tempfile(&temp->tempfile)) die_errno("unable to write temp-file"); - close_tempfile(&temp->tempfile); temp->name = get_tempfile_path(&temp->tempfile); oid_to_hex_r(temp->hex, oid); xsnprintf(temp->mode, sizeof(temp->mode), "%06o", mode); diff --git a/gpg-interface.c b/gpg-interface.c index 455b6c04b4..05ca6ecbfd 100644 --- a/gpg-interface.c +++ b/gpg-interface.c @@ -209,13 +209,13 @@ int verify_signed_buffer(const char *payload, size_t payload_size, fd = mks_tempfile_t(&temp, ".git_vtag_tmpXXXXXX"); if (fd < 0) return error_errno(_("could not create temporary file")); - if (write_in_full(fd, signature, signature_size) < 0) { + if (write_in_full(fd, signature, signature_size) < 0 || + close_tempfile(&temp) < 0) { error_errno(_("failed writing detached signature to '%s'"), temp.filename.buf); delete_tempfile(&temp); return -1; } - close_tempfile(&temp); argv_array_pushl(&gpg.args, gpg_program, @@ -295,10 +295,10 @@ const char *setup_temporary_shallow(const struct oid_array *extra) if (write_shallow_commits(&sb, 0, extra)) { fd = xmks_tempfile(&temp, git_path("shallow_XXXXXX")); - if (write_in_full(fd, sb.buf, sb.len) != sb.len) + if (write_in_full(fd, sb.buf, sb.len) != sb.len || + close_tempfile(&temp) < 0) die_errno("failed to write to %s", get_tempfile_path(&temp)); - close_tempfile(&temp); strbuf_release(&sb); return get_tempfile_path(&temp); } |