mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 21:47:45 +00:00
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.
This commit is contained in:
parent
5f498279b8
commit
f427010222
@ -191,6 +191,7 @@ rx_SlowReadPacket(struct rx_packet * packet, unsigned int offset, int resid,
|
|||||||
j = MIN(resid, packet->wirevec[i].iov_len - (offset - l));
|
j = MIN(resid, packet->wirevec[i].iov_len - (offset - l));
|
||||||
memcpy(out, (char *)(packet->wirevec[i].iov_base) + (offset - l), j);
|
memcpy(out, (char *)(packet->wirevec[i].iov_base) + (offset - l), j);
|
||||||
resid -= j;
|
resid -= j;
|
||||||
|
out += j;
|
||||||
l += packet->wirevec[i].iov_len;
|
l += packet->wirevec[i].iov_len;
|
||||||
i++;
|
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));
|
j = MIN(resid, packet->wirevec[i].iov_len - (offset - l));
|
||||||
memcpy(b, in, j);
|
memcpy(b, in, j);
|
||||||
resid -= j;
|
resid -= j;
|
||||||
|
in += j;
|
||||||
l += packet->wirevec[i].iov_len;
|
l += packet->wirevec[i].iov_len;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user