From f2c10f108202c350a3c16f49156b11b0cd0dfa96 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Sat, 16 Dec 2017 04:05:21 +0100 Subject: ctrl: fix mem leak when handling GET_REPLY and SET_REPLY In ctrl_handle_msg() (code recently propagated from handle_control_read()), talloc_free() the parsed ctrl_cmd in all code paths. In particular, a free was missing in case ctrl_cmd_handle() returns CTRL_CMD_HANDLED. CTRL_CMD_HANDLED is triggered by GET_REPLY / SET_REPLY parsing, as show by ctrl_test.c. With the memleak fixed, adjust expected test output and make a detected mem leak abort the test immediately. Change-Id: Id583b413f8b8bd16e5cf92a8a9e8663903646381 --- tests/ctrl/ctrl_test.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'tests/ctrl/ctrl_test.c') diff --git a/tests/ctrl/ctrl_test.c b/tests/ctrl/ctrl_test.c index 9c7316fc..e25929c2 100644 --- a/tests/ctrl/ctrl_test.c +++ b/tests/ctrl/ctrl_test.c @@ -120,9 +120,8 @@ static void assert_test(struct ctrl_handle *ctrl, struct ctrl_connection *ccon, if (talloc_total_size(ctx) != ctx_size_was) { printf("mem leak!\n"); - // hide mem leak to be fixed in subsequent patch - //talloc_report_full(ctx, stdout); - //OSMO_ASSERT(false); + talloc_report_full(ctx, stdout); + OSMO_ASSERT(false); } printf("ok\n"); -- cgit v1.2.3