summaryrefslogtreecommitdiff
path: root/devel/git/files/patch-wrapper.c
blob: bc31f9d8a1a73449a88a10f5b60626ceaa72419e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
--- wrapper.c.orig	2013-03-13 15:15:22.000000000 -0400
+++ wrapper.c	2013-03-17 20:55:29.000000000 -0400
@@ -1,6 +1,7 @@
 /*
  * Various trivial helper wrappers around standard functions
  */
+#include <sys/param.h>
 #include "cache.h"
 
 static void do_nothing(size_t size)
@@ -139,7 +140,7 @@
 {
 	ssize_t nr;
 	while (1) {
-		nr = read(fd, buf, len);
+		nr = read(fd, buf, MIN(INT_MAX, len));
 		if ((nr < 0) && (errno == EAGAIN || errno == EINTR))
 			continue;
 		return nr;
@@ -155,7 +156,7 @@
 {
 	ssize_t nr;
 	while (1) {
-		nr = write(fd, buf, len);
+		nr = write(fd, buf, MIN(INT_MAX, len));
 		if ((nr < 0) && (errno == EAGAIN || errno == EINTR))
 			continue;
 		return nr;