diff --git a/modules/database/src/ioc/rsrv/caservertask.c b/modules/database/src/ioc/rsrv/caservertask.c index 7a9ae63b3..c51a06db6 100644 --- a/modules/database/src/ioc/rsrv/caservertask.c +++ b/modules/database/src/ioc/rsrv/caservertask.c @@ -1343,10 +1343,13 @@ void casExpandBuffer ( struct message_buffer *buf, ca_uint32_t size, int sendbuf // round up to multiple of 4K size = ((size-1)|0xfff)+1; - if (buf->type==mbtLargeTCP) + if (buf->type==mbtLargeTCP) { newbuf = realloc (buf->buf, size); - else + if(newbuf) + buf->buf = newbuf; + } else { newbuf = malloc (size); + } newtype = mbtLargeTCP; newsize = size;