Module Name: src
Committed By: christos
Date: Fri Feb 4 17:38:15 UTC 2011
Modified Files:
src/lib/libc/rpc: svc_vc.c
Log Message:
PR/44514: Andrey Simonenko: Buffer underflow in RPC library for non-blocking
TCP sockets
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/lib/libc/rpc/svc_vc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/libc/rpc/svc_vc.c
diff -u src/lib/libc/rpc/svc_vc.c:1.23 src/lib/libc/rpc/svc_vc.c:1.24
--- src/lib/libc/rpc/svc_vc.c:1.23 Fri Feb 4 12:36:54 2011
+++ src/lib/libc/rpc/svc_vc.c Fri Feb 4 12:38:15 2011
@@ -1,4 +1,4 @@
-/* $NetBSD: svc_vc.c,v 1.23 2011/02/04 17:36:54 christos Exp $ */
+/* $NetBSD: svc_vc.c,v 1.24 2011/02/04 17:38:15 christos Exp $ */
/*
* Sun RPC is a product of Sun Microsystems, Inc. and is provided for
@@ -35,7 +35,7 @@
static char *sccsid = "@(#)svc_tcp.c 1.21 87/08/11 Copyr 1984 Sun Micro";
static char *sccsid = "@(#)svc_tcp.c 2.2 88/08/01 4.0 RPCSRC";
#else
-__RCSID("$NetBSD: svc_vc.c,v 1.23 2011/02/04 17:36:54 christos Exp $");
+__RCSID("$NetBSD: svc_vc.c,v 1.24 2011/02/04 17:38:15 christos Exp $");
#endif
#endif
@@ -583,7 +583,7 @@
cd->strm_stat = XPRT_DIED;
return -1;
}
- if (cd->nonblock && i != cnt) {
+ if (cd->nonblock) {
/*
* For non-blocking connections, do not
* take more than 2 seconds writing the
@@ -597,6 +597,7 @@
return -1;
}
}
+ i = 0;
}
}
return len;