From patchwork Fri May 17 23:27:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Indu Bhagat X-Patchwork-Id: 90401 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 BBFA5384AB6F for ; Fri, 17 May 2024 23:27:39 +0000 (GMT) X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by sourceware.org (Postfix) with ESMTPS id 7F1233858D20 for ; Fri, 17 May 2024 23:27:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7F1233858D20 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 7F1233858D20 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=205.220.165.32 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1715988433; cv=pass; b=fDCWCGKTls5cMp6FJEEPDTL6ExOTOqyfBHRJr+4rOmKMBOo2J5KoNztRPSVP9zZA08MNTI70J37Q0HTfB3WD4NKMorAnBQHWYL6tRIpqI4pNIEAIH+1h/IcmGAwSwbQOmjSk6tPUc4WzinL/8nsRHdIrhyfMw6ndjf0n3RbdBkM= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1715988433; c=relaxed/simple; bh=sklRClgWb8hZVc3Miw/yf+JxfqxHUtX6uHm0BqWOCiw=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=AJjNx9e7wlALt6GuPESLjOHPdExwcNhio9S+bam24/DNiDFrjYTEw068U2OTG9sgURz1ISNMA2/nt4Tzf+iuBaCK1fYw5dGRskCwYZsca5zyhE6RoI9bIzudrxCzpLJmrj8/EbGZzMFB4BnTpkwPFKEoitR/h5lAJ87Vka4tw/k= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 44HNPF3c003691 for ; Fri, 17 May 2024 23:27:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : content-transfer-encoding : content-type : mime-version; s=corp-2023-11-20; bh=jXHxHfUBHEF4OPoHQWVyPWjNf5xpGfIunjNjs8tzE4Y=; b=l6S1gsq7JOinr7Fdk0EP9EWQHFhy3p5JE8/iXtTTG4RZnjVZHmkUxA4BuFh9u3o6fEHh DiJp0NcA8TLvQ2B42ItELmT/h9xaJ5MIhuOS2w1u11OUhhLydEmZKqHLlbyVDD43vQp2 kueUFpXPfDwbFykZhWVRXQFNohsVETsjv+O4wlh+uuhm74fF2au7uLO5Dfb2dcYNvR5A qzhjaKIXnpc1/jI+K0WVR8FbT1/nIXDvwzDqt8+q/JO3Hs4G/5l/fm8hA+tWpY2WYkQI 2gQy4+h9wp6rhO8b1U+fPVGrUQUnkU3FdJ+9tJJ6X51rfhMfgq/0vdeLPMmV7Db35dKh Xg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3y3t4s0ywu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 17 May 2024 23:27:10 +0000 Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 44HM1oGa019182 for ; Fri, 17 May 2024 23:27:08 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2168.outbound.protection.outlook.com [104.47.55.168]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 3y3r89t57c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Fri, 17 May 2024 23:27:08 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oTBbBRnON8V8v15sN4EuvCKC0za5/6o4ZfYUS2O83S4nJa4NvkrxDF4Gllow5rEsb0xzwjQ8tDsd44qffJ3siiIQfltnS+jH8vxGfiiZVgI4aqxZC4GurO3bqGxISZ0JP18P8rFk00CEj0cDS7VXPc75dGw4L1jx/kSXVCMk2n9noN2w0ABFx8MfMeJtS0JfSvkivmBv95fI6CDGm6LcuBEfyNttr9sm9SzR1lkuX/pyx7XuxKwG1cghrh104FCvfkKihrjWL+v00D79fj8OpQFkLuh3itJKuVvvjT9fQv7F5xfb4rw/kg98eHu9aBAU1l53M8lo55qwiIf8Fw5EYA== 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=jXHxHfUBHEF4OPoHQWVyPWjNf5xpGfIunjNjs8tzE4Y=; b=ADdp05za1WgbZ8CQejBmk0HYYrQnINyBGAVtfWjTzREwpX8abr4/DVjJF4+hoxD6C1UfxrlesNfWxbcKXD8s1hEPLriziN30pH+ixD7F9lNTiORxP+OcQUZN9Or3xxMWZY96COtNiVkwfYp7u+k5vEhWtuUnX7ktSrwNadyAHUZAZ2YxK8XGN6UV83C7D5hfHRhjM3gLpIFyL0QnC69HUncBl/mdFP/jSSD8F7x53Wemv257ZrIwpLGXYN9kYp3J2sQIcckGar5xRWZ4sHeaswL210BlBwbog+otFDn3coX0mXqhnm97B3H3v6TIQqnqaRCbPWqeCI/wYgHZV7niTQ== 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=jXHxHfUBHEF4OPoHQWVyPWjNf5xpGfIunjNjs8tzE4Y=; b=e9xYgN7mxKrNrJ/u2WhvRNBzy4jDn9G2toaCXERM0VznZR4OXYl6SMQ7rRrpQGWkwIA8xnY0NxNMwTESlUhTtVqB2OVygwdJbxV1fAKsQxKVSt1iko1Evgt1bKRJUEkL3puoM3YcSVT7kbTAi7/sWa8jhlBS9E6fIw1SR4dos9s= Received: from MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) by BY5PR10MB4308.namprd10.prod.outlook.com (2603:10b6:a03:203::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.30; Fri, 17 May 2024 23:27:07 +0000 Received: from MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::6f0e:742a:270:889]) by MWHPR1001MB2158.namprd10.prod.outlook.com ([fe80::6f0e:742a:270:889%5]) with mapi id 15.20.7587.026; Fri, 17 May 2024 23:27:07 +0000 From: Indu Bhagat To: binutils@sourceware.org Cc: Indu Bhagat Subject: [PATCH] gas: ginsn: remove unnecessary buffer allocation and free Date: Fri, 17 May 2024 16:27:02 -0700 Message-ID: <20240517232702.2144065-1-indu.bhagat@oracle.com> X-Mailer: git-send-email 2.43.0 X-ClientProxiedBy: MW4PR03CA0073.namprd03.prod.outlook.com (2603:10b6:303:b6::18) To MWHPR1001MB2158.namprd10.prod.outlook.com (2603:10b6:301:2d::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWHPR1001MB2158:EE_|BY5PR10MB4308:EE_ X-MS-Office365-Filtering-Correlation-Id: 9cccb061-05a4-4ce4-f3fa-08dc76c8dde4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230031|376005|366007|1800799015; X-Microsoft-Antispam-Message-Info: Tw5VdoI7dCSOZs7YXTP75DFPFr3x905PWOjlwgKFpP++14nUf9HMO3BbzJm39asXq2eQuv35APn+0PjTGP8ZDAO9gNQMrASerez7WjlU8M7+XoSNXKKZyc1rpW6utRIKQzbG5QiPvv22C3FchF6t9b7yBNs/de3E4N+0+qpwD/Iqja8iPU8KQ7jHPTnZuMh9hCvf+tN12fS4V5/W3cNLRLu2gpCcAXMdYcNSl4PMP6W5hZ567vye8FZZI+z/Xf5cWddl2CFhLvrIQ4J8DbVB7wayMnsNU8CPkBnsDnjkQ0wVuJ9iviz3Ub1laEvppzmnxzOQFNLQCIRcuhJvNzj4f5tpOeVeMEFp3isac0apVZgWjsBEaqM7SHPiXJwmlEQ19xpYONGJJ7wtf0VdjAkdGovar6XFqimNvNZ6wxw5Z8wgcAiiPZDVcaNLayJ8/AL8BwSpDhwQJ2/Gw/LlOOFmoTMclKjTQv2BvPxSGgx2yXQ0mlrsi+zI0wo9aApRe86y3aQqQWgyQMSXSQG5g6pAZnRvaKGXUhHAtaET7t6CFc+YkztpO1Pd/Z+/WirPvKyponfv78+VjqQVIgCHIONvu20CexO1255YAUiS5c9XZPLe/NKhmcAiYZ22aVv2kL4iIIyIHKMlK1rECU8hcVH5rQgBHZSQinfm4/kGoVJji1KmlNwigJy4m9KU0RGBujiPzHDG1r3x+PebHRNNQ7RFx+7MWhw6fFhrqAKx6KB/Zr5UVqGKaZ1U+uKGWWzfVb0kQF+ht5LQMtoKkw8IrzlWxxr8/BnlU+zNOfWcai+aAXu4X/acod21XDjai+QQ64gait59v8gUwcIzxvOxmPUNL39lQEBlkBpO7McFeTg/XG+06kuq1tUyHlItlNIP5MLQ1LvVB7tCMSFKhi8sL3zzsJBWemZYzIIQoALJ4msvtg5gMAU71PYt8ZEUMetymI2MRTpIs048fe5TciuzAtfWXi7NasFzVw29lWMgizwuZl8d3gDitdoEvsoa8vuElwPoFiz05xkeID+RbwmxyIsyrrW5xJ+J9hd3osLfdfWrd0VhQEb/BwBs0rWHMRWIZ+7WkhBueMvflAStRvBZzHwjz4aMnvvkAdADKiEVLB8MIfv2HLiFAMuyTJP5PKceLHi5oMDGy2Alp+lhY+a4hZyxE++Po32t/vu99YiHbAUYbyHhOpVoGbnv5E/Rcm4dhT06d0IGWE7LmfAlqa5rjH+uGjrBxMhLswx/CVp7wCzXddV/wHOVQLSqz1wF39OCVY83Y5LSLE3y+opfJGB3F9TnRQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MWHPR1001MB2158.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(366007)(1800799015); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: X4XxKviDs+Mgtg+6vHTjaIsKRB52mBBnKPhfRaweiW8HoMg/Yl+AGNnhFwZABwnYRraBd8DC9mU+1DpyC6jN/aRi3Z1OJPt4u+Q7yrdlrsQyvlIpcSil0WwIQq3/Noh72p6NiB/kysfyvgygCuf2iGpe1xNz1ods6JffwY0Auxe9Ni7YnIZBwZXbZAk3BDht0cduKk2R6/pvIY/oODAsSDMsON8r1wamNk4Vrss3aG+5NzVAcQC1/VitykASpraZSomx5LIef1ejVi4J68IPStC2iZXr9jhdIvXzjzxWS8iIPJ/2CdNUo/ChoWjQ9JOC9rAjABVky7AzsFIScQDRqwZKjKFLW79aPtOViQpU4/VTc4fAch0iPm9f/+UoS9MVDcmuYcEBaG97AJsJZFlF2dNLAhYd+T08o77TCbRPN/BVcnaoLC3mm2ktuIcG5GSHA/AkeL+vwNDusWXG9GeBmGjQyJDfKOE059K3S3tGqb0l19FYYnc19TSRDHYkX/6aSUriQItFLBjIRx3IW9GZNa3An/kQcIPYsSVfqpwvGy1lpzdQYHBm3kpFrOppQp4wffHNw3hQPf+uC/53wQ9slYegAZ7m9s6/2zMkTxg01fa9kas0S5wOkkL2JUKFkwOA7MyToOVHKgjRxAZDJCRxMkVpu08t0h9pxnrfR+YtICqmgRKzk1/GCn2y2D4P53Ap5jG2fV+zyRPCqKlJaLW7K7RH+hzwP/GEyupjFu+ytcRJQ/vko4gRi4OPQv6hxeK9RCqqcSQr79Swjnq5TmZwVUT/pR4+ttqTSVwt3Kfiu3YaOFK69yhatlKVTVpknZCO3/ecvaYGGeC2Ez41oEKiUA/XH0hoIcHdeinnbFQ3dOgU+ycfuobb3ExdE9p4WgfYBAz0fwyEIDCN8IJjdgkZ9fHs2VpsvsmJAZ4R3rXeeiMBNN6LNg17+NRM9+3rMF8wLPwW43vEMkmDUHSGmf2WoC/BMjkNmIe7xQoFtadNBrsDcXIsBiXO99ZHy8NkEhkTHfpygr/IXOjVh1L2sW2eYp6Gv9ajPaWD6mzYi+E+NAezvM0kGBjYOoqrU4uEWPKZv1E0bxacou0C0j0Yk88gJSqWeBse5i3KAIe+381FjQXp1dT21oq5H0k6II3Zx28LSwHUDzNzHRpGYFlwrw9Y3GSlp8A3cqjEQWHgzR7eRSYVHbEi80n1PIIEvZkgkeh5n3g3cPqhwmnP25se0TZgv3f8eoUrIecBoCD3VfYZQsz1uPsy/Yfv9JsJxTZkZnGTZFknA78Yt/X6o0eFh+BWIUb6w3DSk3V7kgG03+XA3j+MsF/v+5zo411zsJSUxiMLYNBZwb3Xl7lVRBC+eW6FlSUBnDgwXld3uS1bZNbn9yid12d63L4zPVvAoyy8iDFCyX3QJjaXd1VZ5nGIE8Nv/dzs8mUAM+OxyWPFHIYPlZ6T4o3kBNZH8whmdX1IUaHhhR2A1DNoM8DD4Uj8yMKBzu8tCgbJJ83sBc8TPShCA6H4zWWCo4v4VVjcJ2q2WXLhToTP6b4t3/7MhRxVnplMSVR7RX/nMPYmgSlV6b64KdSWynWhE8SB1b6uxwC+CwLYUzw4fefsXOEnvRjHtOX1tHwL9erdrewD9rjF6RFl1lc= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: Z7ztdNXYVPSMgTZ14h8FKjlqu1Oi/LN9bLAGil0g1tG1gLFIrYItl1OEu8p6256QIyzpIFEyayhYk33bdYMKXORki8eM189rryoq04wnzY6bfqkIbKaduMRhF64q5a5HDtJjPh2bVTge2QaTy+XnWVaUKQRoOZxljOHuMdg2E1EweLF376swF81eJsaFPuFcQyrNj9ZTFSIQjATuvslkBZBurxWMCO9EEJN1O0EP/ior0qGd4M6preLWvM5Frn9AwrUUHhqfjVN9vB5iIAjW6tfZam9kIYt16vfbGifYaqILYCMFzcEXcXH008ce4bc0FxZ81/YSGwQVf28xoS4XE/nN6aDlM/dqI9RoTe8CciqSCH5yp0ysQFkdSnTvfMhn3NbbJilr4L2qxt0cVb8O/QdTayrb2jwC26TV2IEfRPcOuVlCcXN7GTywdBWxM7iPGoUjvCa7jpgIDkb2EfsueylNZVHJPuFRQldzy1aqWMppmbbw0O+FeRXBhWNTLRpJU4yKzRbtD/IbGEfUUEha8aptRSlC0GouQkGckKh/9UBb6s2qqnJBpxjz2dzT4RtdSG9sLU6SteMAXtMtMcQZQGgQ2HBYL6GGs5dSKFu/pEk= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9cccb061-05a4-4ce4-f3fa-08dc76c8dde4 X-MS-Exchange-CrossTenant-AuthSource: MWHPR1001MB2158.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2024 23:27:06.9867 (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: ULNkPZllcc1aFiBxF20J1ShBuyl2AW1iduAldysdq6QBVaLeOrk/FrnAVlrPP6I6ntSKhIphdMGdhK9Z0nfEyg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR10MB4308 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-17_11,2024-05-17_03,2023-05-22_02 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 mlxlogscore=999 spamscore=0 suspectscore=0 mlxscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2405010000 definitions=main-2405170183 X-Proofpoint-GUID: iaGYioGGaqyq-eFotDnfe_r9LynxMaX0 X-Proofpoint-ORIG-GUID: iaGYioGGaqyq-eFotDnfe_r9LynxMaX0 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 A previous commit 80ec235 fixed the memory leaks, but brought to light that the code should ideally make consistent use of snprintf and not allocate/free more buffers than necessary. gas/ * ginsn.c (ginsn_dst_print): Use snprintf consistently. --- gas/ginsn.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/gas/ginsn.c b/gas/ginsn.c index bc22c04433f..f50f172b4e8 100644 --- a/gas/ginsn.c +++ b/gas/ginsn.c @@ -497,28 +497,25 @@ ginsn_src_print (struct ginsn_src *src) static char* ginsn_dst_print (struct ginsn_dst *dst) { + int str_size = 0; size_t len = GINSN_LISTING_OPND_LEN; char *dst_str = XNEWVEC (char, len); memset (dst_str, 0, len); if (dst->type == GINSN_DST_REG) - { - char *buf = XNEWVEC (char, 32); - sprintf (buf, "%%r%d", ginsn_get_dst_reg (dst)); - strcat (dst_str, buf); - free (buf); - } + str_size = snprintf (dst_str, GINSN_LISTING_OPND_LEN, + "%%r%d", ginsn_get_dst_reg (dst)); else if (dst->type == GINSN_DST_INDIRECT) - { - char *buf = XNEWVEC (char, 32); - 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); + str_size = snprintf (dst_str, GINSN_LISTING_OPND_LEN, + "[%%r%d+%lld]", ginsn_get_dst_reg (dst), + (long long int) ginsn_get_dst_disp (dst)); + else if (dst->type != GINSN_DST_UNKNOWN) + /* Other dst types are unexpected. */ + gas_assert (false); + + /* str_size will remain 0 when GINSN_DST_UNKNOWN. */ + gas_assert (str_size >= 0 && str_size < GINSN_LISTING_OPND_LEN); return dst_str; }