From: Tom Keiser Date: Mon, 31 Jul 2006 16:09:09 +0000 (+0000) Subject: DEVEL15-rx-readpacket-leak-20060728 X-Git-Tag: openafs-devel-1_5_5~25 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=b516fdbeadf706fb6eb86cc3f38d646d0ebc963e;p=packages%2Fo%2Fopenafs.git DEVEL15-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 87728b134..5cb65cc52 100644 --- a/src/rx/rx_kcommon.c +++ b/src/rx/rx_kcommon.c @@ -1138,9 +1138,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 e943e70d6..0aa9c8bd7 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;