From patchwork Sun Apr 19 07:37:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: chenzefeng X-Patchwork-Id: 38830 Return-Path: X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from huawei.com (szxga05-in.huawei.com [45.249.212.191]) by sourceware.org (Postfix) with ESMTPS id 588C63858D31 for ; Sun, 19 Apr 2020 07:38:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 588C63858D31 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.59]) by Forcepoint Email with ESMTP id 92D299E2CBFEC8F3842F for ; Sun, 19 Apr 2020 15:38:01 +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; Sun, 19 Apr 2020 15:37:54 +0800 From: chenzefeng To: CC: , , Subject: [PATCH] malloc: fix memleak in function muntrace Date: Sun, 19 Apr 2020 15:37:54 +0800 Message-ID: <20200419073754.72967-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=-25.9 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: Sun, 19 Apr 2020 07:38:08 -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..0b92106e6e 100644 --- a/malloc/mtrace.c +++ b/malloc/mtrace.c @@ -365,4 +365,6 @@ muntrace (void) fprintf (f, "= End\n"); fclose (f); + if (mtb != NULL) + free (mtb); }