From 5ee9dab3082879106ac39bb789662ecbb3beef66 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zden=C4=9Bk=20Salvet?= Date: Thu, 6 Apr 2006 08:00:25 +0000 Subject: [PATCH] Fix multiple typing bugs that can lead to endless looping, correct ambiguity of nwrite() return value. --- org.glite.security.proxyrenewal/src/common.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/org.glite.security.proxyrenewal/src/common.c b/org.glite.security.proxyrenewal/src/common.c index 7b3df64..74495fd 100644 --- a/org.glite.security.proxyrenewal/src/common.c +++ b/org.glite.security.proxyrenewal/src/common.c @@ -6,7 +6,7 @@ static int nread(int sock, struct timeval *to, char *buf, size_t buf_len, size_t *read_len) { - size_t count; + int count; size_t remain = buf_len; char *cbuf = buf; fd_set fds; @@ -62,11 +62,11 @@ end: return ret; } -static size_t +static int nwrite(int sock, struct timeval *to, const char *buf, size_t buf_len) { const char *cbuf = buf; - size_t count; + int count; size_t remain = buf_len; fd_set fds; struct timeval timeout,before,after; @@ -99,7 +99,7 @@ nwrite(int sock, struct timeval *to, const char *buf, size_t buf_len) cbuf += count; remain -= count; } - ret = buf_len; + ret = 0; end: if (to) { @@ -156,15 +156,16 @@ int edg_wlpr_Write(int sock, struct timeval *timeout, char *buf, size_t buf_len) { unsigned char length[4]; + int ret; length[0] = (buf_len >> 24) & 0xFF; length[1] = (buf_len >> 16) & 0xFF; length[2] = (buf_len >> 8) & 0xFF; length[3] = (buf_len >> 0) & 0xFF; - if (nwrite(sock, timeout, length, 4) != 4 || - nwrite(sock, timeout, buf, buf_len) != buf_len) - return errno; + if ((ret = nwrite(sock, timeout, length, 4)) != 0 || + (ret = nwrite(sock, timeout, buf, buf_len)) != 0) { + return ret; return 0; } -- 1.8.2.3