From: Jeffrey Altman Date: Wed, 19 Jan 2005 05:14:11 +0000 (+0000) Subject: rx-multiple-packets-20050118 X-Git-Tag: BP-disconnected~39 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=f42701022203605f8509b106fe8ca1677666aaa9;p=packages%2Fo%2Fopenafs.git rx-multiple-packets-20050118 Doug Engert reports that large tokens are corrupted when being sent using RX. This patch fixes two bugs which prevent the transmission and receipt of multiple packet exchanges. --- diff --git a/src/rx/rx_packet.c b/src/rx/rx_packet.c index 6d811901f..c5382a4a6 100644 --- a/src/rx/rx_packet.c +++ b/src/rx/rx_packet.c @@ -191,7 +191,8 @@ rx_SlowReadPacket(struct rx_packet * packet, unsigned int offset, int resid, j = MIN(resid, packet->wirevec[i].iov_len - (offset - l)); memcpy(out, (char *)(packet->wirevec[i].iov_base) + (offset - l), j); resid -= j; - l += packet->wirevec[i].iov_len; + out += j; + l += packet->wirevec[i].iov_len; i++; } @@ -231,6 +232,7 @@ rx_SlowWritePacket(struct rx_packet * packet, int offset, int resid, char *in) j = MIN(resid, packet->wirevec[i].iov_len - (offset - l)); memcpy(b, in, j); resid -= j; + in += j; l += packet->wirevec[i].iov_len; i++; }