From cac976ce25a51625b6b3702de9a957a2e94ea6db Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Thu, 15 Apr 2021 01:41:47 +0300 Subject: [PATCH] Fix a memory leak in the chained read implementation --- src/msgr_receive.cpp | 1 + tests/test_vm_cont.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/src/msgr_receive.cpp b/src/msgr_receive.cpp index 8be182cf..e5859d70 100644 --- a/src/msgr_receive.cpp +++ b/src/msgr_receive.cpp @@ -332,6 +332,7 @@ bool osd_messenger_t::handle_reply_hdr(osd_client_t *cl) cl->read_op = op; cl->read_state = CL_READ_REPLY_DATA; cl->read_remaining = op->reply.hdr.retval; + free(op->buf); op->buf = memalign_or_die(MEM_ALIGNMENT, cl->read_remaining); cl->recv_list.push_back(op->buf, cl->read_remaining); } diff --git a/tests/test_vm_cont.sh b/tests/test_vm_cont.sh index af15d5bb..f5515f04 100755 --- a/tests/test_vm_cont.sh +++ b/tests/test_vm_cont.sh @@ -3,6 +3,7 @@ export KEEP_DATA=1 . `dirname $0`/common.sh +etcdctl --endpoints=http://127.0.0.1:12379/v3 del --prefix /vitastor/mon/master etcdctl --endpoints=http://127.0.0.1:12379/v3 del --prefix /vitastor/pg/state etcdctl --endpoints=http://127.0.0.1:12379/v3 del --prefix /vitastor/osd/state