From patchwork Mon Apr 20 13:49:20 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: chenzefeng X-Patchwork-Id: 38831 Return-Path: X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from huawei.com (szxga07-in.huawei.com [45.249.212.35]) by sourceware.org (Postfix) with ESMTPS id 5BDC9384B104 for ; Mon, 20 Apr 2020 13:49:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5BDC9384B104 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=chenzefeng2@huawei.com Received: from DGGEMS406-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 39A975A09B9731D9A058 for ; Mon, 20 Apr 2020 21:49:29 +0800 (CST) Received: from linux_supse12sp4_workstation.huawei.com (10.67.189.177) by DGGEMS406-HUB.china.huawei.com (10.3.19.206) with Microsoft SMTP Server id 14.3.487.0; Mon, 20 Apr 2020 21:49:20 +0800 From: chenzefeng To: CC: , , , Subject: [PATCH v2] malloc: fix memleak in function muntrace Date: Mon, 20 Apr 2020 21:49:20 +0800 Message-ID: <20200420134920.93473-1-chenzefeng2@huawei.com> X-Mailer: git-send-email 2.12.3 MIME-Version: 1.0 X-Originating-IP: [10.67.189.177] X-CFilter-Loop: Reflected X-Spam-Status: No, score=-24.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Apr 2020 13:49:33 -0000 when we call functons as follow: mtrace(); ... muntrace(); It would cause memleak, for the mtrace malloc some memory: mtd = malloc(TRACE_BUFFER_SIZE); and it would not be free. Therefor it should be freed in muntrace. Signed-off-by: chenzefeng --- malloc/mtrace.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/malloc/mtrace.c b/malloc/mtrace.c index 7e7719df97..ab65ebe764 100644 --- a/malloc/mtrace.c +++ b/malloc/mtrace.c @@ -365,4 +365,6 @@ muntrace (void) fprintf (f, "= End\n"); fclose (f); + if (malloc_trace_buffer != NULL) + free (malloc_trace_buffer); }