From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) by sourceware.org (Postfix) with ESMTPS id 499543870C1E for ; Tue, 9 Apr 2024 23:05:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 499543870C1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 499543870C1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::430 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712703923; cv=none; b=x5EvMwExSgA/SAAkX1oNwVQ1MBxu3AB8nKLHktz3UJZzaVVrznAagvKBz8wt8cyGAbioF3N82UIP9kuAPrxVGWAzLbMDZ5dub9abI4xFn6vYjNN36LvZMJOZlI0wlug0mmCRHgCcQWrjN1GxC/Yu4sLqxq9V9sFUZklKALyqzBU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712703923; c=relaxed/simple; bh=DqNEGQDjSSorlAZbhbIbxcJFwi6S6JbtLksJReWaUQs=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=l8taBcF41laIETS7RJdPTGXuSNIh6efcJK0X27tm8FLf8v863GlCSNkl5eMY1yhfvA8sqVSYwXgrharPV2fbCbdcDwim5VBruACyMy51gkP3jZ77DwXt1QRf/xyxK/XPc8reEyBoHc5p+LTvsYMFbAW7/35P+kv45js4laEexs4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pf1-x430.google.com with SMTP id d2e1a72fcca58-6ed5109d924so1965056b3a.0 for ; Tue, 09 Apr 2024 16:05:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712703920; x=1713308720; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=tV86nZRW410e2BrA0tdQQSPjEpzd6924/HjYe1bAP7M=; b=fD88fKMVXwaJ/PtuLmFrcjs5sAc/JSnXhSrw3iPmSUjuRdNrkvL2dWTzjDZEHq0Y4r ABdiw0ZYGPmsKIckiHkNcECvSoBCuMp2T/6oIii3NfLrXz2FQwXNp/cflAmcpNMvRrXu IcD8WwwSsdbOl6FYBeGx7AeoBomjVkRfz5s35u3mtHQ0vmvlbN12fhwc9ZXa0mfT2j3k bdhZKBU02ILjudh0vyq2vT4yHX5wRodnaeMYWO+ZvCgbKRnrumNUcGvpYNOrhlmse6tK fsHgkMIwssS8jR8C7rn88Hh//ivmqap8xX8oSiRKaJ/7bBW+WLWVAbw+7Mxa/H6NYFOT hjrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712703920; x=1713308720; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=tV86nZRW410e2BrA0tdQQSPjEpzd6924/HjYe1bAP7M=; b=Me/jk/MWt7W5Pj+j5/NZ5VwQ/aBVRrMwbBpmb4aCr7PLm/o/594qKL9akTwD2Zq00J B/9KUaf1l947moMBOizD3ytYSeUQeqA0jq3m80Cxs6hrA7TWZ2rs1r/3aaxFIFpO8Nb3 lGhceF+T/jAVoj3jWpwpC2vNv8aOWHO9qn5Ss0PqU/PNLft6COrRkPKxbnh01bV8FYNo Jrf2+upbunOb8x6TvqGuPLZVBqlsq/N2xW7ZaCWu5nHtAjze6q4Mi3DvYxLkOg1cdzAa 1UHfpNewZ5JSeGTMA8tz3OTZ8fXaL4+fz+x+9s7rDf/ylV4NAe3CdSTZ9irznAuQphdE PPcw== X-Gm-Message-State: AOJu0YxBbua3ZoSbsIaOgN2IwNRvMiIT16Vw7X3qCMhLHrZWCGjSLaiL yuGb0/yzxFCzmEvtCE8NT0QBOuM7qLe3RUHhrofrJ/204lmMlPAv X-Google-Smtp-Source: AGHT+IH3wav2FU3hZzDESqyB4LAUyr++GuSDE5HaoO4ahek74pkTiSjPnj3MTh0mqtcs+icP067vYg== X-Received: by 2002:a05:6a20:96c9:b0:1a7:9fd2:8bbb with SMTP id hq9-20020a056a2096c900b001a79fd28bbbmr991208pzc.24.1712703920241; Tue, 09 Apr 2024 16:05:20 -0700 (PDT) Received: from gnu-cfl-3.localdomain ([172.56.169.48]) by smtp.gmail.com with ESMTPSA id w3-20020aa78583000000b006ecd942161fsm8859751pfn.190.2024.04.09.16.05.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 16:05:19 -0700 (PDT) Received: from gnu-cfl-3.. (localhost [IPv6:::1]) by gnu-cfl-3.localdomain (Postfix) with ESMTP id 7B1F474019D; Tue, 9 Apr 2024 16:05:18 -0700 (PDT) From: "H.J. Lu" To: binutils@sourceware.org Cc: indu.bhagat@oracle.com Subject: [PATCH] gas: Fix memory leaks in ginsn.c Date: Tue, 9 Apr 2024 16:05:18 -0700 Message-ID: <20240409230518.2466527-1-hjl.tools@gmail.com> X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3020.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Free buffer memory after use in ginsn.c. * ginsn.c (ginsn_dst_print): Free buffer after use. (ginsn_print): Likewise. --- gas/ginsn.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gas/ginsn.c b/gas/ginsn.c index 492e161876b..fe7a5253310 100644 --- a/gas/ginsn.c +++ b/gas/ginsn.c @@ -507,6 +507,7 @@ ginsn_dst_print (struct ginsn_dst *dst) char *buf = XNEWVEC (char, 32); sprintf (buf, "%%r%d", ginsn_get_dst_reg (dst)); strcat (dst_str, buf); + free (buf); } else if (dst->type == GINSN_DST_INDIRECT) { @@ -514,6 +515,7 @@ ginsn_dst_print (struct ginsn_dst *dst) sprintf (buf, "[%%r%d+%lld]", ginsn_get_dst_reg (dst), (long long int) ginsn_get_dst_disp (dst)); strcat (dst_str, buf); + free (buf); } gas_assert (strlen (dst_str) < GINSN_LISTING_OPND_LEN); @@ -570,20 +572,26 @@ ginsn_print (ginsnS *ginsn) /* src 1. */ src = ginsn_get_src1 (ginsn); + char *src_buf = ginsn_src_print (src); str_size += snprintf (ginsn_str + str_size, GINSN_LISTING_LEN - str_size, - " %s", ginsn_src_print (src)); + " %s", src_buf); + free (src_buf); gas_assert (str_size >= 0 && str_size < GINSN_LISTING_LEN); /* src 2. */ src = ginsn_get_src2 (ginsn); + src_buf = ginsn_src_print (src); str_size += snprintf (ginsn_str + str_size, GINSN_LISTING_LEN - str_size, - "%s", ginsn_src_print (src)); + "%s", src_buf); + free (src_buf); gas_assert (str_size >= 0 && str_size < GINSN_LISTING_LEN); /* dst. */ dst = ginsn_get_dst (ginsn); + char *dst_buf = ginsn_dst_print (dst); str_size += snprintf (ginsn_str + str_size, GINSN_LISTING_LEN - str_size, - "%s", ginsn_dst_print (dst)); + "%s", dst_buf); + free (dst_buf); end: gas_assert (str_size >= 0 && str_size < GINSN_LISTING_LEN); -- 2.44.0