From e199597d529a035f50e57e7dd653a8095313d246 Mon Sep 17 00:00:00 2001 From: Tom Keiser Date: Mon, 31 Jul 2006 16:07:49 +0000 Subject: [PATCH] rx-readpacket-leak-20060728 avoid just allocating packets forever --- src/rx/rx_kcommon.c | 4 +--- src/rx/rx_packet.c | 6 ++---- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/rx/rx_kcommon.c b/src/rx/rx_kcommon.c index 7533eebe7..aa0e87a4a 100644 --- a/src/rx/rx_kcommon.c +++ b/src/rx/rx_kcommon.c @@ -1149,9 +1149,7 @@ rxk_ReadPacket(osi_socket so, struct rx_packet *p, 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++; switch (rx_ssfamily(saddr)) { diff --git a/src/rx/rx_packet.c b/src/rx/rx_packet.c index b3b0457ae..7028e8dc9 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, 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++; switch (rx_ssfamily(saddr)) { -- 2.39.5