зеркало из https://github.com/microsoft/git.git
stream_blob_to_fd: detect errors reading from stream
We call read_istream, but never check its return value for errors. This can lead to us looping infinitely, as we just keep trying to write "-1" bytes (and we do not notice the error, as we simply check that write_in_full reports the same number of bytes we fed it, which of course is also -1). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
7632cd2744
Коммит
45d4bdae59
|
@ -514,6 +514,8 @@ int stream_blob_to_fd(int fd, unsigned const char *sha1, struct stream_filter *f
|
|||
ssize_t wrote, holeto;
|
||||
ssize_t readlen = read_istream(st, buf, sizeof(buf));
|
||||
|
||||
if (readlen < 0)
|
||||
goto close_and_exit;
|
||||
if (!readlen)
|
||||
break;
|
||||
if (can_seek && sizeof(buf) == readlen) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче