From patchwork Mon Dec 18 12:15:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 180352 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:24d3:b0:fb:cd0c:d3e with SMTP id r19csp1195163dyi; Mon, 18 Dec 2023 04:15:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IFwzv0tBy44I6XAneozqDWt6ehlm9cw/5WZ3f7XORZgJS3lxOl5mAS9wsv6YN+OGhMCNtYw X-Received: by 2002:a05:6808:164e:b0:3ba:e7c:7b98 with SMTP id az14-20020a056808164e00b003ba0e7c7b98mr15806822oib.106.1702901720245; Mon, 18 Dec 2023 04:15:20 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1702901720; cv=pass; d=google.com; s=arc-20160816; b=o6F4wuMVp+zGxoIcJunTP864xjK9DX0x/qAnB92MiaeDxLryTkN0GyAasf9Ecjgj9w J4/pFEXLHvrhUBixrXhGEzYqC7K6LvAnFAUVYKoEURQ1+K8M9IC8vfA8YUzjtHD5S14f 3Q71vbDBdWmQbZuZAT1skUzWpsb9UPIC4YdPGreZomaSHHvYq0yHfbRHpTqH0UjaG0xp cLwhlaBt66LaHfRfVQDIrB2JvWUMXPqu1j1wZnlGTEIX5e7suBNUU3feH4nfLM8Pv9bz pytpSvUaUnoQO8QjFTJGk4S0bqE3nTrQK2u48XhWH2s6UVqCMqtGE7Mu/w+lXybVVwJ/ fRzA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-disposition :mime-version:message-id:subject:to:from:date:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=JRzRNkAxBbdBdGKl3BkLb5zcEMilpbOfxN6A/haNxfA=; fh=NLxAvL/bDfPg4AGOtxqvQlND8vazkZrNzKLY8+LAbBY=; b=g8AC1n3wyQznycc5z2W65iIB9bt6r4v1uxjGVJX1VAXPYem+bJllVVGlBNixsvVRXX 2UKBHuB8caOQ5raLobTE9/kc5ItxTNqAxN3Ej736aniPi7uJ4EwuOdIwhTDLKTUE89Db ZguoPv9HFxjlY4JzR/8QrDEYt0Jeg9bHXMr/xqVd5XczDP1OfqZ/L5a3SiKkMdMjDdTN aApllGQ8Tw6YLWoiPJRp4EryCgWz3If7Jk+NIdF0GMXiOoBvQtRyeH6pfmnXz1QKFzD0 Oy6sTkSsQjpt0uWO3NmVasx5HnmIfzJbNEGRuJNqmw21GOi3yInPrhGIus977OBK5LNx PwJg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=ArqdTtsf; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id w186-20020a1fdfc3000000b004b6d0ea9900si159227vkg.315.2023.12.18.04.15.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Dec 2023 04:15:20 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=ArqdTtsf; arc=pass (i=1); spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E1AAA3857B92 for ; Mon, 18 Dec 2023 12:15:19 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-oo1-xc2d.google.com (mail-oo1-xc2d.google.com [IPv6:2607:f8b0:4864:20::c2d]) by sourceware.org (Postfix) with ESMTPS id E19F83858037 for ; Mon, 18 Dec 2023 12:15:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E19F83858037 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 E19F83858037 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::c2d ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702901716; cv=none; b=jzm27EJumktZNZDJGCx5ONPRIykHUxOvg519xRFYHz0gsdpo+gAOkUAFLRXNHeMY91/E9wITFGs/Dxdgi+ji5CK2zGPAss5/3tLHHRDW4zk1G8RTMk8bd8Z3qRjlgAdWK2EKsfdt2A9+XuCDPomG3dHWrJ9lHJpUoZzQiG7Wko8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702901716; c=relaxed/simple; bh=shWTIrYFwWdv43BckGm4A7CycI6TUG7drAYNMDjlBsQ=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=CFpOlHehmevvBFIxofZ3+6CEFd9HdgzuvYiI5QO3OcANUP8CxGW6c2WmhCE+TbcxQEphBWEaof7mXqeZIuheLwL0h9pd3d4Rqbmrh8wsTb3WVITUGqkWUJERuiHgFmNQWhQNaQmv5U6981TGg7lCgn11fPjinQRwlNtTMnC56rk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-oo1-xc2d.google.com with SMTP id 006d021491bc7-591a6f1385eso1885661eaf.0 for ; Mon, 18 Dec 2023 04:15:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702901713; x=1703506513; darn=sourceware.org; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=JRzRNkAxBbdBdGKl3BkLb5zcEMilpbOfxN6A/haNxfA=; b=ArqdTtsfqeQ355DdK5ztnyGaQ2o7bJzyyrgTIjIV0h5jhDI9XCjr1FxeZiN+aX77HD rFW7PBEFD9hc5dLRwZu/k6C5FvuoMT47W0Uoecwbhum+O83W9XoP/5+qpU8EP8kjonNW /fpbWLO3anfgyBsp5HfZokydOws5oEKZggN1ZvRBnAogaEn4Uk/2SFet4CsQUTcs8uxj +BihDNxmc58ISMonznlUq+9Es4RWBKoz+YXZA897M1d2GHRP2L+T34Nw7J9ciT8qx4He 87V3EMFT7dOs+EQcw97Eo/oR4bVS6hOJFvg8k1i+eIawOSD6fljPT0c1EQX57CkX5L09 sdbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702901713; x=1703506513; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JRzRNkAxBbdBdGKl3BkLb5zcEMilpbOfxN6A/haNxfA=; b=eSOQjS5pgDgmxsa3oNuGSLuHtK7REMm8L0EKo/hiiMYhYsdCoJWC9z4ZNpOIDF/t9E KB1oyIyh7oAqIYhz0TjTy1KSe9QHDMYA6vRXlcNW8jef1hjnGZwER5PxM/jYC0Lip8+Z +F1xi19xPiBbFr8WjMIUF0udmkjwwRLk1NjNApTI73Vkci8sRVTAAX/ZdcGzbLGOWLes eKgqjK5z/jvql+XXvFk/errABYrh9N07YPlDIqID/4rdjZv6iz0ntthG2nqsauTlN6Zm qaGl2h7AJTyBUQdTOKdFyAYiKzzIm/29svYx00oX8twpWmOoCK3Pi33SA+Yc7GxxpJEV XjzA== X-Gm-Message-State: AOJu0YzwJgJSLOyo2ngqXZviDqpxPQQUR8QSiO6fuVJifpUwUDKye78/ AHmpumfQL0zLvcakkRi2VrbF1XgYU7g= X-Received: by 2002:a05:6358:6f93:b0:170:f1ab:9612 with SMTP id s19-20020a0563586f9300b00170f1ab9612mr10240088rwn.65.1702901713112; Mon, 18 Dec 2023 04:15:13 -0800 (PST) Received: from squeak.grove.modra.org (158.106.96.58.static.exetel.com.au. [58.96.106.158]) by smtp.gmail.com with ESMTPSA id r27-20020aa79edb000000b006d60928ca99sm2494397pfq.135.2023.12.18.04.15.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Dec 2023 04:15:12 -0800 (PST) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id BDA531140102; Mon, 18 Dec 2023 22:45:09 +1030 (ACDT) Date: Mon, 18 Dec 2023 22:45:09 +1030 From: Alan Modra To: binutils@sourceware.org Subject: PR31162, Memory Leak in ldwrite.c Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-3034.0 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, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1785621874028052134 X-GMAIL-MSGID: 1785621874028052134 This isn't a particularly worrying memory leak, but fix it anyway. PR 31162 * ldwrite.c (build_link_order): Use bfd_alloc rather than xmalloc. Add %E to error messages. diff --git a/ld/ldwrite.c b/ld/ldwrite.c index 0e9d7d0a3df..9375644cbd1 100644 --- a/ld/ldwrite.c +++ b/ld/ldwrite.c @@ -57,11 +57,14 @@ build_link_order (lang_statement_union_type *statement) link_order = bfd_new_link_order (link_info.output_bfd, output_section); if (link_order == NULL) - einfo (_("%F%P: bfd_new_link_order failed\n")); + einfo (_("%F%P: bfd_new_link_order failed: %E\n")); link_order->type = bfd_data_link_order; link_order->offset = statement->data_statement.output_offset; - link_order->u.data.contents = (bfd_byte *) xmalloc (QUAD_SIZE); + link_order->u.data.contents = bfd_alloc (link_info.output_bfd, + QUAD_SIZE); + if (link_order->u.data.contents == NULL) + einfo (_("%F%P: bfd_new_link_order failed: %E\n")); value = statement->data_statement.value; @@ -167,13 +170,15 @@ build_link_order (lang_statement_union_type *statement) link_order = bfd_new_link_order (link_info.output_bfd, output_section); if (link_order == NULL) - einfo (_("%F%P: bfd_new_link_order failed\n")); + einfo (_("%F%P: bfd_new_link_order failed: %E\n")); link_order->offset = rs->output_offset; link_order->size = bfd_get_reloc_size (rs->howto); link_order->u.reloc.p = (struct bfd_link_order_reloc *) - xmalloc (sizeof (struct bfd_link_order_reloc)); + bfd_alloc (link_info.output_bfd, sizeof (struct bfd_link_order_reloc)); + if (link_order->u.reloc.p == NULL) + einfo (_("%F%P: bfd_new_link_order failed: %E\n")); link_order->u.reloc.p->reloc = rs->reloc; link_order->u.reloc.p->addend = rs->addend_value; @@ -219,7 +224,7 @@ build_link_order (lang_statement_union_type *statement) link_order = bfd_new_link_order (link_info.output_bfd, output_section); if (link_order == NULL) - einfo (_("%F%P: bfd_new_link_order failed\n")); + einfo (_("%F%P: bfd_new_link_order failed: %E\n")); if ((i->flags & SEC_NEVER_LOAD) != 0 && (i->flags & SEC_DEBUGGING) == 0) @@ -260,7 +265,7 @@ build_link_order (lang_statement_union_type *statement) link_order = bfd_new_link_order (link_info.output_bfd, output_section); if (link_order == NULL) - einfo (_("%F%P: bfd_new_link_order failed\n")); + einfo (_("%F%P: bfd_new_link_order failed: %E\n")); link_order->type = bfd_data_link_order; link_order->size = statement->padding_statement.size; link_order->offset = statement->padding_statement.output_offset;