From 25a84e2978e3e2b66f4c0a01b21db5f934604906 Mon Sep 17 00:00:00 2001 From: Alexander Aring Date: Aug 15 2022 19:46:51 +0000 Subject: controld: fix memory leak Compile with -fsanitize=address unveils the following memory leak: ==1175==ERROR: LeakSanitizer: detected memory leaks Direct leak of 216 byte(s) in 3 object(s) allocated from: #0 0x7f0881809b17 in calloc (/lib64/libasan.so.6+0xaeb17) #1 0x55b3f110bc78 in send_protocol /builddir/devel/dlm/dlm_controld/daemon_cpg.c:1872 SUMMARY: AddressSanitizer: 216 byte(s) leaked in 3 allocation(s). This patch free's the allocated buffer in send_protocol which should be copied in a different buffer by _send_message() already. --- diff --git a/dlm_controld/daemon_cpg.c b/dlm_controld/daemon_cpg.c index f215edf..e6a03a2 100644 --- a/dlm_controld/daemon_cpg.c +++ b/dlm_controld/daemon_cpg.c @@ -1886,6 +1886,7 @@ static void send_protocol(struct protocol *proto) protocol_out(pr); _send_message(cpg_handle_daemon, buf, len, DLM_MSG_PROTOCOL); + free(buf); } int set_protocol(void)