From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by sourceware.org (Postfix) with ESMTPS id 0BEA53858D33 for ; Mon, 28 Aug 2023 13:41:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0BEA53858D33 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-68c3b9f83f4so1382515b3a.2 for ; Mon, 28 Aug 2023 06:41:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1693230089; x=1693834889; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=rMJmW+xnLW5gSnoY7ZeivaXAoyos+eIFvZvQM4BA1SI=; b=ROJne1BLr4IeDJK5zuxenEpXBvFg8Z0mbGtX0QvRakVtnO5KGG12NGyFLVV/4DpyTl m01gcJmP4Xb3FVODO0kQVMLR/v9vaSLvrNz7aB012gHCjLIaKTN+SElkd6mg78MIMo2T zz0CBqsNObIzfJ7bGoCeExqIZeIMIQwevtdcjE6o+DkwW/ykb2KT7ATLWYFM0JPQZqur bS8TjqSsY7nn+uS0Ssh3qpw2kuVYL9JiLjyt1nfAuUEr2/iK/uyR+rLcNDGlXELUMJiE 71worINBHjnsuQ7asd2xwU9o1IDpbhrCfGkx23hWBSG2cU65n3ePlypzp3DrbH0ighgP 7mfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693230089; x=1693834889; 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=rMJmW+xnLW5gSnoY7ZeivaXAoyos+eIFvZvQM4BA1SI=; b=UNlstgUg7dmS0i7UOPvd66AMYfQGwX0aa4BIpMMHydlmi4RhQEhjJpyXRh+HvJlATE PbWOcoWcvlI9NxGKjAMHjODBpvuwUgm/vie8DsrnrduBVx3SijSj5wUq/wvZQyDCC35F AeF2ovJb222I2SAMXnHm1RTsQ2EsLC9K7vzC9VZA71iTAMUMxnTX47iBdsjKcOe4/s52 X+5T/dT3/C1yIPDTcOTY87ecU/mOCoSeWPKtfM/0iwleFFRNZB/I3ivhY3bohK3OWnE9 r1rVwfr+l5LnmbLZyVlRluNX7hZoQDCk9ha3ag/nvsyF+GeNnxXyyNGXqkbP4k8IUQjF WzlA== X-Gm-Message-State: AOJu0YxidHRfKfnfPsDHO6rZU8No/NCpvIrfSWJNleXMtoUUiWyx3nZS g3F5XTQ5PQVBkgPcNhiNNw8Ucg/rq/2Fog== X-Google-Smtp-Source: AGHT+IE/gAA614RkSQpk49mu8eo6gEOaJn4g/hyAEZrSqjz4n7m6zp0ImJOW84NPrwhkMj5LI8lNJQ== X-Received: by 2002:a05:6a20:12c9:b0:13b:9d80:673d with SMTP id v9-20020a056a2012c900b0013b9d80673dmr27157244pzg.48.1693230088513; Mon, 28 Aug 2023 06:41:28 -0700 (PDT) Received: from squeak.grove.modra.org ([2406:3400:51d:8cc0:81e6:71c9:6d9f:1b5]) by smtp.gmail.com with ESMTPSA id x15-20020aa784cf000000b0068746ab9aebsm6906845pfn.14.2023.08.28.06.41.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Aug 2023 06:41:27 -0700 (PDT) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id 199F211423CB; Mon, 28 Aug 2023 23:11:25 +0930 (ACST) Date: Mon, 28 Aug 2023 23:11:25 +0930 From: Alan Modra To: binutils@sourceware.org Subject: Re: comdat_hash memory leaks Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-3033.7 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 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: I missed another field that needs freeing. Also, oss-fuzz found a case with a C_FILE sym using multiple auxents for a long file name which overflowed the single auxent buffer. I'm going to fix that problem in swap_aux_in too, but we may as well avoid it here too, saving unnecessary work. * coffcode.h (comdat_delf): Free comdat_name. (fill_comdat_hash): Only look at symbols with one auxent. diff --git a/bfd/coffcode.h b/bfd/coffcode.h index 03c1788a1c9..908dc93c64a 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -872,6 +872,7 @@ static void comdat_delf (void *ent) { struct comdat_hash_entry *e = ent; + free (e->comdat_name); free (e->symname); free (e); } @@ -964,7 +965,7 @@ fill_comdat_hash (bfd *abfd) if (*slot == NULL) { - if (isym.n_numaux == 0) + if (isym.n_numaux != 1) aux.x_scn.x_comdat = 0; else { -- Alan Modra Australia Development Lab, IBM