diff --git a/git-compat-util.h b/git-compat-util.h index 55456da..931cbed 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -210,6 +210,7 @@ static inline void *xmmap(void *start, size_t length, static inline ssize_t xread(int fd, void *buf, size_t len) { ssize_t nr; + if (len > 5) len = 5; while (1) { nr = read(fd, buf, len); if ((nr < 0) && (errno == EAGAIN || errno == EINTR)) @@ -221,6 +222,7 @@ static inline ssize_t xread(int fd, void *buf, size_t len) static inline ssize_t xwrite(int fd, const void *buf, size_t len) { ssize_t nr; + if (len > 5) len = 5; while (1) { nr = write(fd, buf, len); if ((nr < 0) && (errno == EAGAIN || errno == EINTR))