git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johan Herland <johan@herland.net>
To: git@vger.kernel.org
Cc: Paolo Teti <paolo.teti@gmail.com>
Subject: [PATCH] Ensure return value from xread() is always stored into an ssize_t
Date: Tue, 15 May 2007 14:49:22 +0200	[thread overview]
Message-ID: <200705151449.22744.johan@herland.net> (raw)
In-Reply-To: <200705151439.25871.johan@herland.net>

This patch fixes all calls to xread() where the return value is not 
stored into an ssize_t. The patch should not have any effect whatsoever, 
other than putting better/more appropriate type names on variables.

Signed-off-by: Johan Herland <johan@herland.net>
---

Feel free to ignore this patch as it may be argued that it needlessly 
touches a lot of code, without having much (if any) positive effect 
at all.

 builtin-apply.c          |    4 ++--
 builtin-bundle.c         |    2 +-
 builtin-fetch--tool.c    |    4 ++--
 builtin-unpack-objects.c |    2 +-
 combine-diff.c           |    2 +-
 copy.c                   |    3 +--
 diff.c                   |    2 +-
 imap-send.c              |    2 +-
 index-pack.c             |    2 +-
 pkt-line.c               |    4 ++--
 sha1_file.c              |    2 +-
 ssh-upload.c             |    2 +-
 12 files changed, 15 insertions(+), 16 deletions(-)

diff --git a/builtin-apply.c b/builtin-apply.c
index 8b8705a..0399743 100644
--- a/builtin-apply.c
+++ b/builtin-apply.c
@@ -185,7 +185,7 @@ static void *read_patch_file(int fd, unsigned long *sizep)
 	void *buffer = xmalloc(alloc);
 
 	for (;;) {
-		int nr = alloc - size;
+		ssize_t nr = alloc - size;
 		if (nr < 1024) {
 			alloc += CHUNKSIZE;
 			buffer = xrealloc(buffer, alloc);
@@ -1468,7 +1468,7 @@ static int read_old_data(struct stat *st, const char *path, char **buf_p, unsign
 			return error("unable to open %s", path);
 		got = 0;
 		for (;;) {
-			int ret = xread(fd, buf + got, size - got);
+			ssize_t ret = xread(fd, buf + got, size - got);
 			if (ret <= 0)
 				break;
 			got += ret;
diff --git a/builtin-bundle.c b/builtin-bundle.c
index d1635a0..306ad29 100644
--- a/builtin-bundle.c
+++ b/builtin-bundle.c
@@ -48,7 +48,7 @@ static int read_string(int fd, char *buffer, int size)
 {
 	int i;
 	for (i = 0; i < size - 1; i++) {
-		int count = xread(fd, buffer + i, 1);
+		ssize_t count = xread(fd, buffer + i, 1);
 		if (count < 0)
 			return error("Read error: %s", strerror(errno));
 		if (count == 0) {
diff --git a/builtin-fetch--tool.c b/builtin-fetch--tool.c
index 2065466..12adb38 100644
--- a/builtin-fetch--tool.c
+++ b/builtin-fetch--tool.c
@@ -6,11 +6,11 @@
 
 static char *get_stdin(void)
 {
-	int offset = 0;
+	size_t offset = 0;
 	char *data = xmalloc(CHUNK_SIZE);
 
 	while (1) {
-		int cnt = xread(0, data + offset, CHUNK_SIZE);
+		ssize_t cnt = xread(0, data + offset, CHUNK_SIZE);
 		if (cnt < 0)
 			die("error reading standard input: %s",
 			    strerror(errno));
diff --git a/builtin-unpack-objects.c b/builtin-unpack-objects.c
index 2bbda67..a6ff62f 100644
--- a/builtin-unpack-objects.c
+++ b/builtin-unpack-objects.c
@@ -34,7 +34,7 @@ static void *fill(int min)
 		offset = 0;
 	}
 	do {
-		int ret = xread(0, buffer + len, sizeof(buffer) - len);
+		ssize_t ret = xread(0, buffer + len, sizeof(buffer) - len);
 		if (ret <= 0) {
 			if (!ret)
 				die("early EOF");
diff --git a/combine-diff.c b/combine-diff.c
index cff9c5d..ea3ca5f 100644
--- a/combine-diff.c
+++ b/combine-diff.c
@@ -714,7 +714,7 @@ static void show_patch_diff(struct combine_diff_path *elem, int num_parent,
 			result_size = len;
 			result = xmalloc(len + 1);
 			while (sz < len) {
-				int done = xread(fd, result+sz, len-sz);
+				ssize_t done = xread(fd, result+sz, len-sz);
 				if (done == 0)
 					break;
 				if (done < 0)
diff --git a/copy.c b/copy.c
index 08a3d38..d340bb2 100644
--- a/copy.c
+++ b/copy.c
@@ -3,10 +3,9 @@
 int copy_fd(int ifd, int ofd)
 {
 	while (1) {
-		int len;
 		char buffer[8192];
 		char *buf = buffer;
-		len = xread(ifd, buffer, sizeof(buffer));
+		ssize_t len = xread(ifd, buffer, sizeof(buffer));
 		if (!len)
 			break;
 		if (len < 0) {
diff --git a/diff.c b/diff.c
index 8354e71..33297aa 100644
--- a/diff.c
+++ b/diff.c
@@ -1411,7 +1411,7 @@ static int populate_from_stdin(struct diff_filespec *s)
 #define INCREMENT 1024
 	char *buf;
 	unsigned long size;
-	int got;
+	ssize_t got;
 
 	size = 0;
 	buf = NULL;
diff --git a/imap-send.c b/imap-send.c
index 84df2fa..4283a4a 100644
--- a/imap-send.c
+++ b/imap-send.c
@@ -224,7 +224,7 @@ socket_perror( const char *func, Socket_t *sock, int ret )
 static int
 socket_read( Socket_t *sock, char *buf, int len )
 {
-	int n = xread( sock->fd, buf, len );
+	ssize_t n = xread( sock->fd, buf, len );
 	if (n <= 0) {
 		socket_perror( "read", sock, n );
 		close( sock->fd );
diff --git a/index-pack.c b/index-pack.c
index b9da19f..58c4a9c 100644
--- a/index-pack.c
+++ b/index-pack.c
@@ -82,7 +82,7 @@ static void *fill(int min)
 		die("cannot fill %d bytes", min);
 	flush();
 	do {
-		int ret = xread(input_fd, input_buffer + input_len,
+		ssize_t ret = xread(input_fd, input_buffer + input_len,
 				sizeof(input_buffer) - input_len);
 		if (ret <= 0) {
 			if (!ret)
diff --git a/pkt-line.c b/pkt-line.c
index b4cb7e2..b605268 100644
--- a/pkt-line.c
+++ b/pkt-line.c
@@ -65,10 +65,10 @@ void packet_write(int fd, const char *fmt, ...)
 
 static void safe_read(int fd, void *buffer, unsigned size)
 {
-	int n = 0;
+	size_t n = 0;
 
 	while (n < size) {
-		int ret = xread(fd, (char *) buffer + n, size - n);
+		ssize_t ret = xread(fd, (char *) buffer + n, size - n);
 		if (ret < 0)
 			die("read error (%s)", strerror(errno));
 		if (!ret)
diff --git a/sha1_file.c b/sha1_file.c
index 32244d7..be991ed 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -2276,7 +2276,7 @@ int read_pipe(int fd, char** return_buf, unsigned long* return_size)
 {
 	char* buf = *return_buf;
 	unsigned long size = *return_size;
-	int iret;
+	ssize_t iret;
 	unsigned long off = 0;
 
 	do {
diff --git a/ssh-upload.c b/ssh-upload.c
index 2f04572..498d41e 100644
--- a/ssh-upload.c
+++ b/ssh-upload.c
@@ -86,7 +86,7 @@ static int serve_ref(int fd_in, int fd_out)
 
 static void service(int fd_in, int fd_out) {
 	char type;
-	int retval;
+	ssize_t retval;
 	do {
 		retval = xread(fd_in, &type, 1);
 		if (retval < 1) {
-- 
1.5.1.4

  parent reply	other threads:[~2007-05-15 12:49 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-15 11:47 BUG in fixup_pack_header_footer(...) / pack-write.c checksum error never raised Paolo Teti
2007-05-15 12:39 ` [PATCH] Fix signedness on return value from xread() Johan Herland
2007-05-15 12:48   ` Paolo Teti
2007-05-15 12:49   ` Johan Herland [this message]
2007-05-15 16:12     ` [PATCH] Ensure return value from xread() is always stored into an ssize_t Dana How
2007-05-15 16:21       ` Johan Herland
2007-05-15 23:24   ` [PATCH] Fix signedness on return value from xread() Shawn O. Pearce

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200705151449.22744.johan@herland.net \
    --to=johan@herland.net \
    --cc=git@vger.kernel.org \
    --cc=paolo.teti@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).