From d43ca5013570f55b0fcd43827978257f31fafc93 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 10 Feb 2009 22:42:50 +0000 Subject: [PATCH] DEVEL15-fix-tsfpq-20090210 LICENSE BSD avoid transferring more than the number of packets in a queue (cherry picked from commit 1050049411d1fc47441220c33e6353436fc586e7) --- src/rx/rx_globals.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rx/rx_globals.h b/src/rx/rx_globals.h index ee273016c..2ebeea3a6 100644 --- a/src/rx/rx_globals.h +++ b/src/rx/rx_globals.h @@ -297,7 +297,7 @@ EXT void rxi_FlushLocalPacketsTSFPQ(void); /* flush all thread-local packets to do { \ int i; \ struct rx_packet * p; \ - int tsize = (rx_ts_info_p)->_FPQ.len - rx_TSFPQLocalMax + 3 * rx_TSFPQGlobSize; \ + int tsize = MIN((rx_ts_info_p)->_FPQ.len, (rx_ts_info_p)->_FPQ.len - rx_TSFPQLocalMax + 3 * rx_TSFPQGlobSize); \ if (tsize <= 0) break; \ for (i=0,p=queue_Last(&((rx_ts_info_p)->_FPQ), rx_packet); \ i < tsize; i++,p=queue_Prev(p, rx_packet)); \ -- 2.39.5