Merge branch 'js/xread-in-full'
authorJunio C Hamano <gitster@pobox.com>
Wed, 11 Sep 2013 21:59:46 +0000 (14:59 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 11 Sep 2013 21:59:46 +0000 (14:59 -0700)
A call to xread() was used without a loop around to cope with short
read in the codepath to stream new contents to a pack.

* js/xread-in-full:
stream_to_pack: xread does not guarantee to read all requested bytes

bulk-checkin.c
index 6b0b6d490440cc59f8ef451c5da9bcff5b3e1563..118c62528b0bb6c919d146d60516825a5336fe75 100644 (file)
@@ -114,7 +114,7 @@ static int stream_to_pack(struct bulk_checkin_state *state,
 
                if (size && !s.avail_in) {
                        ssize_t rsize = size < sizeof(ibuf) ? size : sizeof(ibuf);
-                       if (xread(fd, ibuf, rsize) != rsize)
+                       if (read_in_full(fd, ibuf, rsize) != rsize)
                                die("failed to read %d bytes from '%s'",
                                    (int)rsize, path);
                        offset += rsize;