From: Jim Meyering Date: Thu, 10 Jan 2008 08:54:25 +0000 (+0100) Subject: bundle, fast-import: detect write failure X-Git-Tag: v1.5.4-rc3~6 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=95693d45ee1c1d4b76cac672636cf31229186a18;p=git.git bundle, fast-import: detect write failure I noticed some unchecked writes. This fixes them. * bundle.c (create_bundle): Die upon write failure. * fast-import.c (keep_pack): Die upon write or close failure. Signed-off-by: Jim Meyering Signed-off-by: Junio C Hamano --- diff --git a/bundle.c b/bundle.c index be204d8a2..316aa7420 100644 --- a/bundle.c +++ b/bundle.c @@ -320,9 +320,9 @@ int create_bundle(struct bundle_header *header, const char *path, for (i = 0; i < revs.pending.nr; i++) { struct object *object = revs.pending.objects[i].item; if (object->flags & UNINTERESTING) - write(rls.in, "^", 1); - write(rls.in, sha1_to_hex(object->sha1), 40); - write(rls.in, "\n", 1); + write_or_die(rls.in, "^", 1); + write_or_die(rls.in, sha1_to_hex(object->sha1), 40); + write_or_die(rls.in, "\n", 1); } if (finish_command(&rls)) return error ("pack-objects died"); diff --git a/fast-import.c b/fast-import.c index 74597c901..82e916133 100644 --- a/fast-import.c +++ b/fast-import.c @@ -878,8 +878,9 @@ static char *keep_pack(char *curr_index_name) keep_fd = open(name, O_RDWR|O_CREAT|O_EXCL, 0600); if (keep_fd < 0) die("cannot create keep file"); - write(keep_fd, keep_msg, strlen(keep_msg)); - close(keep_fd); + write_or_die(keep_fd, keep_msg, strlen(keep_msg)); + if (close(keep_fd)) + die("failed to write keep file"); snprintf(name, sizeof(name), "%s/pack/pack-%s.pack", get_object_directory(), sha1_to_hex(pack_data->sha1));