From 112604e9c31cba4f9605b6b53918aafa8cac77d0 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Tue, 5 Dec 2006 19:38:44 +0000 Subject: [PATCH] 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 --- 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 83aafb504..804cf383b 100644 --- a/src/rx/rx_packet.c +++ b/src/rx/rx_packet.c @@ -2629,7 +2629,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); @@ -2640,8 +2640,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