From d2fad17be7ab7f5a9ce1d956438677cbe9385eb1 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Wed, 26 Jul 2017 16:25:52 +0200 Subject: [PATCH] rsrv: fix large array expansion Causes a crash when a larger buffer is made even larger. Previous buffer not being free'd correctly. --- src/ioc/rsrv/caservertask.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ioc/rsrv/caservertask.c b/src/ioc/rsrv/caservertask.c index 37c721f8a..ac2a325eb 100644 --- a/src/ioc/rsrv/caservertask.c +++ b/src/ioc/rsrv/caservertask.c @@ -1392,7 +1392,7 @@ void casExpandBuffer ( struct message_buffer *buf, ca_uint32_t size, int sendbuf /* free existing buffer */ if(buf->type==mbtSmallTCP) { freeListFree ( rsrvSmallBufFreeListTCP, buf->buf ); - } else if(buf->type==mbtLargeTCP) { + } else if(rsrvLargeBufFreeListTCP && buf->type==mbtLargeTCP) { freeListFree ( rsrvLargeBufFreeListTCP, buf->buf ); } else { /* realloc() already free()'d if necessary */