From patchwork Fri Apr 26 20:20:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nick Alcock X-Patchwork-Id: 89064 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4DA4F384AB7B for ; Fri, 26 Apr 2024 20:22:19 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by sourceware.org (Postfix) with ESMTPS id 12B20384AB5C for ; Fri, 26 Apr 2024 20:20:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 12B20384AB5C Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=oracle.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=oracle.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 12B20384AB5C Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.177.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714162848; cv=pass; b=erNmb6sdbaqAYCBosg7+0DEcTEfbVSdP3tudzq37zvW1ImJ/sY+Y+OIIqdeZkglcgvrvoy2uaaAxgVWgBsjTLJMEuH9S3FnkbUe/Ql7kviu5AdjgWoxwsx93Cm3hJpzdLENAz6ABLBXbdbSFrzrHXuNuNfASjmnp98U3AC8rpTQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714162848; c=relaxed/simple; bh=2tnFzVZdOPTL/Bn+XBOLu3uPmasNWq+22OMT2y7fSmA=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=eMUuUxSaAZ8vOQTTtmg5uoQRYtqfi4P+z+TVQUf/kcD5hGuO36yvUa04ougGvk7/EQXX3YewTC03lqlctWeXBjYCsRuqOTZeV0plm+0dYNpPT2VIoAJwXkmqxYm75LM/cP0ID/8av8vhNGY7EtMl7PY6treLembfr/8TAkdDEUg= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43QK9rTS012598 for ; Fri, 26 Apr 2024 20:20:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : in-reply-to : references : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=lruPnpewPRoQwSXHZPQzP0yexrccmai9ZF5nKPVulyM=; b=k2ACG9IBUlCxAMkPjwJbb0tAaFTeO/4i8TvBcJd0BXemis1DyKvhuxG4S1huPKHKDHQd jYXXPkoHqSV9n83Ai4ZzsKSi/TfcbmvzMch1ExqGm1FXK/g3kbjonQttWhf2ZM7iLj7u swK6vfPTH8wJ7kLwx/GMRT2QV1Lrm00rr4x2bgvs/xBfLMdqBhnVZw40tdvioGyQEXJN j81/0z8ck7hBfAtkP9QmIRiy2EM1hfafIcgSxdznRnEqJn05fzfhKRmtpoJclMDcwfcn JNco7PRL9kuzm/bskjCEp/jRHOV1TSLWoulhYu4whamnhnxyqIrCQ4FcJvOVN0woxXb7 nw== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3xm4g4p91h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 26 Apr 2024 20:20:44 +0000 Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 43QJZ0Fx001813 for ; Fri, 26 Apr 2024 20:20:43 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2100.outbound.protection.outlook.com [104.47.70.100]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 3xm45cv383-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 26 Apr 2024 20:20:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a8CXGfWbIknIK/MV1IJ3fJjNp5In8SFzKGuSDevLUKEZGGVO2Yv9rMDGnxVLXyKgArjoUcyER2If1ji0g9k+qvMjRPWyc66w9IL4GWoPlkGrJsL38gVIGnp4F0kZrgWbPW6V+BPO/5FM3Ib9SSNwuq1yo8L0h52cDjJD0PkUC2w6mKYCjmzGaCIlT9l2RiokQNexEujUKb1tVNubusHfnEphpnMBNTAmxYlZSVB6RPpfVS8j57D48cOH+z59dFtBgyX/ovzKI2FuDzOeh7AwGXDhFFJRSjOx0N18xAjyZCy+wjaRAPqeU6enErM/OBNNtWhrHUg8fwby8aITJyZr6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lruPnpewPRoQwSXHZPQzP0yexrccmai9ZF5nKPVulyM=; b=F82edXyrjiFf/KEHe8PTcA3TGveyzoHZ5QWEQahs10XHIRWRnSI19GcnOQmU4YBURsMZNSKz+9te4L/NDzCNnjm246ouR8nSP7rsxIynrvbu1fX7EvA5kpjrnzVPi4vu6lHwh+ZEW2RS11bcvvkQM1yAIhSyPzshwe3cTUle0VICsylgs84rl2jhTPZfwtSX72mec501HOGrs+WLEVBgIgGtose4sy5J7FcSLKNDD5JRP/7WTmsk3s/jlzF4LyTzjziC/bdoBHrTNirkcWOM883ej4HIv2IymHb1G3DQ5YAgKOZKc5APRU2rMFsMdttcXyPOB/et532gqQOqICidsQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lruPnpewPRoQwSXHZPQzP0yexrccmai9ZF5nKPVulyM=; b=wDbkhXhFqDUux+eEnlGPKCTrmldCeTTJ8705qA1qxkFKjv3AOqr4OZBg4uBpcbfGm6mryTOvygylxh0GtRvdP/wjJc/5UU7KSJBEPsMZ7iog2nWWMKXAkZ13pjse45EbE4W2lmjoGAbXrrC348N78lrBAJiiPlePZXXpNkduLJw= Received: from MW4PR10MB6608.namprd10.prod.outlook.com (2603:10b6:303:22e::8) by SA1PR10MB7791.namprd10.prod.outlook.com (2603:10b6:806:3a9::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.31; Fri, 26 Apr 2024 20:20:41 +0000 Received: from MW4PR10MB6608.namprd10.prod.outlook.com ([fe80::67a4:9544:7249:7751]) by MW4PR10MB6608.namprd10.prod.outlook.com ([fe80::67a4:9544:7249:7751%7]) with mapi id 15.20.7472.044; Fri, 26 Apr 2024 20:20:41 +0000 From: Nick Alcock To: binutils@sourceware.org Subject: [PATCH 3/7] libctf: ctf_archive_iter: fix tiny leak Date: Fri, 26 Apr 2024 21:20:19 +0100 Message-ID: <20240426202023.423064-4-nick.alcock@oracle.com> X-Mailer: git-send-email 2.44.0.273.ge0bd14271f In-Reply-To: <20240426202023.423064-1-nick.alcock@oracle.com> References: <20240426202023.423064-1-nick.alcock@oracle.com> X-ClientProxiedBy: LO4P123CA0625.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:294::23) To MW4PR10MB6608.namprd10.prod.outlook.com (2603:10b6:303:22e::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW4PR10MB6608:EE_|SA1PR10MB7791:EE_ X-MS-Office365-Filtering-Correlation-Id: e7cc9461-5bdc-4dfe-c8fa-08dc662e581a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|366007|376005|1800799015; X-Microsoft-Antispam-Message-Info: nUGXHQeLLvwPeJmLwvkR562W14o7sOXAaU8NLz4t4r/y1L6CqoZNLCvPhvwvHLQYJmRVxGudtRAUJYzyw14XipLaMXAkoeX6I3yUN54RpKDlLN7AThkxfdk9WDTWiiMlhQ5tmqp88peix/tnkjS1GuTx8Olgl46G516NrJSfqEZGIfbKhB6G1yKSm586dqqCB6eYDteCc/72DmVQ4mzaD1n6phyOdSmopBXeFrBV46faVpiGCt0LbuH+U6gTvkXvwQyPLZQzH3jauMM5rdbeiw0oPYUiw6cab9nkLGQLS/L9D0W9H8YCYwIyIGSKvTt9Az3gB+UMmeJloCPJEPN9MtB86l46nVOxGPNDdYdo0FODbYv4dby4xlJTyhD51V5dP0DENQ6MLB/1ucD75UVx6allgrhpMEGk7coyard1kIM6Xf2qN3lCJB0L5Bemc8bzQyDv6VDEwtWRJR58MTZ2Eg33KXHDlqqEm6uEYqFXvfNSAB93A9LRN3EjMYjDYuYf6hVuscz+Nbo5pNi7MyJrMkvTe9R0lSYQrcxLlvxZpz08h7LVMJ+zJzCC9RaMUh7NGsGoGvbrscMbWVf8lKivJSmkne1fQTqq6AtsyI1J1rtWJhNaBxWOS8zvzlEuBu/z4INxTySqQI5nzlQeY/IkLXDqfn9N+M+Z60kW0ICoXEDvb09YmNTDJp8/qtgz2zmJWzeJ98HrM1d6tm0WcdVI3W4y+HE2GxU5Y0mjXEiowXgvioBnbOm/F3JcmvC5KgT4TEQa+nGYIjXMBNaAOocd0+qfj8n0dxMbAqLN5X56U/wuV6o1QyTSyKbVoKfDoIidiDr84h7rEeY7yi3gqRQ53xLXoG9iMKJas2lsrD8RdxVQMPwTMSggeyiQm3q/CZu2xDiB9IH3W95GRz7v6tRzEDlVDcnWughDhcuFO71Ivjaw8bUFOQmUl5FaKpyu9fC68zvutI82hGl0cl5DIBQbGZHe4AmIZuhoPiz5MCQyIjIc4hNyXiSsXuAH+zbjnXCpau/k2Mrlz/G6z5DqS0Q8a5ihl0JWmgJGLJXYTYYg77B3no9a/2VmqL9pyOlv29xmiBx+1AnVm6YxQ6aP2pUbIzgxSfI74XBRUWvweFAs1PptOEpTWRY3ZIjajCcuh7Vc9AbsIC/OQYSdACj5REln155dwXoY7BuNU5R/mo0Zs/IsO9PQ5/haUFDuhDdiQ5wxlaqriWuBUP5Dc/R6Ph2wSxWbsCNSdrPsh9G4eBcgW7ZrDx9BivfJmuvQGO3J6X+nz+yUy73m5fMSq1m3uOwjkw== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW4PR10MB6608.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(1800799015); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZC/noug10LyCz82VrJQZtCEfZzwYUorWY1i18Lg+lasC+1/hyuau328cOi2TE3VZ7n6Y354WfTFH9DUE74zIIAXe7kNA48btGPTCGbxm/O/xONoAilb20PB50qot4Bb5qsYhaLx01OXL+1msZJbUi4peulihOZfGUzjQmR7Awzs+nbMU8JWEe5+KM/mj88wIpCTTVXl15E0cRLYFwGW8tQuJrwmMmDOR5r6NdItyZfv52Xmpm3s1ViLVZnnuvsDjMXWrB4lkQkmq6a8xk+0ps/CjN6oYFiAqtlm22YU9J74tapM4I4JUzYrwIYrW7Yq6gyuH8T6gUQ3qXQCHdJZnIHMUwPK4xE+qe63B6FGEEaB+M9XcgvLV0QVMsbA4SPwa2baZDrlb/bL/JBGATZf7UuvrSEFYV9aSaWjRL10dwWhxvgPdHc5fMzroI6WJpFLWw4wGXMct8fyyV3hLFmKrqeonEsnAlGO86fIW+A50xMWYQUAUIWc5CdSs6SQ7f1OHhacEf3atblEYUjQG8LqPicUXvzmNXPISz3/dkZ3yrcN3btr2l4LV8m0fCktcd+KwI7woLrmWiafihR4Pkd7ecL9+glPrUgrGledTelJhZyZ4pFc7MFJuEwJtVl+eL1wJ72Au/FZqA1K1I1yRPfNdaCxsj2eOOnKB8MzPWIUQilx4FyJ9q1w9Kq4UX2avBPJKFSIDwfQDjDBfzwj2bA6TI7zVfxd12PAyCEdbwzCOu1uVGlS7mZAO94RCyGefTPBwjDscrjXUOP1OBJwKmwtCqRGSYu7pGQL74IRxP5JT0MkaSdEXIUJCwjL8+tpMbsB7CbmT40aCds6AwK6W8E3i4plmjZlVEvIPDWNolGNsuqLr6KqPSnIhVuI1wv71VRsLrukewF11EOMnMBZsMtUny5wq8uDVnr50syz2QDQNuiiTANBn75jLk53INEb7sQLIl3JEfewIoBa4SWAILFccpaLuIngcnFlmlcqC8s6CEBRasKnkzM2lA8h+eXLSSSlZc0tJDgT6VAc5mZ3GzvCrD40ORZpfZtanv88gu3vxoTjUsFoeQosRGuhzC+9VWu7GtGxJbVQEiLvFFZm1hDs1PoGV9V1YAx6UAiPQC0l+A72fsykNnEN8cV4Dhr246Fv5Y1t5oXjrSjqIaxtRB7kOtIcFXzK3rLaFMmaB16DS15Dtq3lzvQmUxv8WALj0wa1XqeOSZSJiTZkmsBIeYv3JLWlZLChyMZDlZw3WN8sTYwlB+4udTysehmiwGUEASlHO2oBR55z+Ceu6v8AghMuRBcQ1lpEiPb+VtR92TkLrxaqhdqKO6QKeZGqmVQM4+hq2OCUESY17form8PFNcQGSra/n1XxdJZZZx5+YWf79qOWtZIlUfjCLWgjb0mHaaqkslSC3SzKARP45pnnVZcXWegYLEPisa3zSQZ5ME0FOvbjlMJTb/hq8j08M038mi0G6vIRo1UWAs6IN0YbgVMtDF9ABzEihs6aGvAczJLGXJlxtQgvOViAQyM+K1LIXkPznKnhj3JLBtmcWgTBic7+B+N+XNqGVuX9qgVtf1Xv5q9HK3SGWZEHidiaxUWVKrptopa7CMh315HhrftsXkcypsQ== X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: nNzj45n+m/Y1LGPwJRnakMqpcvOJVeK4/oJoYB58WQ6IDotTSw9fOh7qhg8FwZ+731CAZrf8subgNaRvLIPxMN4ZQciIvccqI62hR3LBtsKyIptq5lOePLIHpP5Oi16fTKAo7rkdWBwfG8uZUEoAG+q8DkMorvqYmau10vDcy6ZmIt69w9p3HYiDFVUFNIm3C5r5jzRIeyCaCJkClRBiZVB/K01u3EsEZHWAS7YTZ551BuTtr2hIBBCqpCLmcYLynoNDuMNz06smayD/DDiEmfW5leAqPFgvRsGJ9olnSJZBogxNUblhBTyEWqPDVGKmuPVHupFM2FqMkaJ+KML08qz5KmxRrcaoVaU89sR0ExqisAfmoay6SmHwkgeZe7c/jTJYIpAgTNTAJwGu6eeX9ZH3PoIOzrxjLarEdeq8/IAUXbashwEYQAWWEdCDRAItXhcBzwLAJ0iuXjcAKyNggwEvDLsT1TJF90NmHb7WhR2opdIuE9DNaUF9hjJgd/OJWJzq7YOwxmEWUwJLTnLYV2chMDpG8x2z2Acvf85KQTnq7Xocj26zn05HZ2dZ7eBCKr/cclu1YntG8+GSB+ORDCGHxlGh7Wrp7k9ceNPMyoI= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7cc9461-5bdc-4dfe-c8fa-08dc662e581a X-MS-Exchange-CrossTenant-AuthSource: MW4PR10MB6608.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2024 20:20:41.3213 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4JY1NAayjjmUSVXvtyog50eDOGpl5MyVe4uqr9QhOzfNmkz9138WxXpP+Aoq6ll+txljvuWZTEN7Yo7ejouOHA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB7791 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-04-26_17,2024-04-26_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 suspectscore=0 bulkscore=0 mlxlogscore=917 spamscore=0 malwarescore=0 mlxscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404260141 X-Proofpoint-GUID: LMwvSOf6c7iAXshBRyN-7RiuDtAoRtco X-Proofpoint-ORIG-GUID: LMwvSOf6c7iAXshBRyN-7RiuDtAoRtco X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, 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 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+patchwork=sourceware.org@sourceware.org If iteration fails because opening a dict has failed, ctf_archive_next does not destroy the iterator, so the caller can keep going and try to open other dicts further into the archive. ctf_archive_iter just returns, though, so it should free the iterator rather than leaking it. libctf/ * ctf-archive.c (ctf_archive_iter): Don't leak the iterator on failure. --- libctf/ctf-archive.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libctf/ctf-archive.c b/libctf/ctf-archive.c index 451d6c69735..f459c02e702 100644 --- a/libctf/ctf-archive.c +++ b/libctf/ctf-archive.c @@ -1063,7 +1063,7 @@ ctf_archive_iter (const ctf_archive_t *arc, ctf_archive_member_f *func, ctf_next_t *i = NULL; ctf_dict_t *fp; const char *name; - int err; + int err = 0; while ((fp = ctf_archive_next (arc, &i, &name, 0, &err)) != NULL) { @@ -1077,6 +1077,11 @@ ctf_archive_iter (const ctf_archive_t *arc, ctf_archive_member_f *func, } ctf_dict_close (fp); } + if (err != ECTF_NEXT_END && err != 0) + { + ctf_next_destroy (i); + return -1; + } return 0; }