From ddf4cba9316e05a1525fe2c500cf5fc9288b130e Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Tue, 5 Dec 2006 19:40:13 +0000 Subject: [PATCH] STABLE14-rx-preparesendpacket-avoid-double-free-20061205 wow, this is special existed forever but only when we stopped leaking packets did it become a problem anyway, don't free packets and forget to reduce the number of packets in play (cherry picked from commit 112604e9c31cba4f9605b6b53918aafa8cac77d0) --- src/rx/rx_packet.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rx/rx_packet.c b/src/rx/rx_packet.c index 36be01f01..9153f30d0 100644 --- a/src/rx/rx_packet.c +++ b/src/rx/rx_packet.c @@ -2606,7 +2606,7 @@ rxi_PrepareSendPacket(register struct rx_call *call, osi_Panic("PrepareSendPacket 1\n"); /* MTUXXX */ } else { struct rx_queue q; - int nb; + int nb; queue_Init(&q); @@ -2617,8 +2617,8 @@ rxi_PrepareSendPacket(register struct rx_call *call, if (nb) rxi_FreePackets(nb, &q); - p->niovecs = i; - p->wirevec[i - 1].iov_len += len; + p->niovecs = MAX(2, i); + p->wirevec[MAX(2, i) - 1].iov_len += len; } RXS_PreparePacket(conn->securityObject, call, p); } -- 2.39.5