From: Tom Keiser Date: Mon, 31 Jul 2006 16:08:20 +0000 (+0000) Subject: STABLE14-rx-readpacket-leak-20060728 X-Git-Tag: openafs-stable-1_4_2b3~29 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=8662becccc9b5d4c74b8f2b145546af4398bb9a9;p=packages%2Fo%2Fopenafs.git STABLE14-rx-readpacket-leak-20060728 avoid just allocating packets forever (cherry picked from commit e199597d529a035f50e57e7dd653a8095313d246) --- diff --git a/src/rx/rx_kcommon.c b/src/rx/rx_kcommon.c index 3c1b1f90b..47f9db7ef 100644 --- a/src/rx/rx_kcommon.c +++ b/src/rx/rx_kcommon.c @@ -1142,9 +1142,7 @@ rxk_ReadPacket(osi_socket so, struct rx_packet *p, int *host, int *port) if (!code) { p->length = nbytes - RX_HEADER_SIZE;; if ((nbytes > tlen) || (p->length & 0x8000)) { /* Bogus packet */ - if (nbytes > 0) - rxi_MorePackets(rx_initSendWindow); - else { + if (nbytes <= 0) { MUTEX_ENTER(&rx_stats_mutex); rx_stats.bogusPacketOnRead++; rx_stats.bogusHost = from.sin_addr.s_addr; diff --git a/src/rx/rx_packet.c b/src/rx/rx_packet.c index 15c238011..36be01f01 100644 --- a/src/rx/rx_packet.c +++ b/src/rx/rx_packet.c @@ -1394,13 +1394,11 @@ rxi_ReadPacket(osi_socket socket, register struct rx_packet *p, afs_uint32 * hos p->length = (nbytes - RX_HEADER_SIZE); if ((nbytes > tlen) || (p->length & 0x8000)) { /* Bogus packet */ - if (nbytes > 0) - rxi_MorePackets(rx_initSendWindow); - else if (nbytes < 0 && errno == EWOULDBLOCK) { + if (nbytes < 0 && errno == EWOULDBLOCK) { MUTEX_ENTER(&rx_stats_mutex); rx_stats.noPacketOnRead++; MUTEX_EXIT(&rx_stats_mutex); - } else { + } else if (nbytes <= 0) { MUTEX_ENTER(&rx_stats_mutex); rx_stats.bogusPacketOnRead++; rx_stats.bogusHost = from.sin_addr.s_addr;