From patchwork Tue Aug 9 08:13:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Immad Mir X-Patchwork-Id: 56611 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 E6F003858038 for ; Tue, 9 Aug 2022 08:14:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E6F003858038 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1660032864; bh=pbhUOKzPuvYiLl7p7xrv780cWNjJv2PwsytB8ll3Gkw=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=Tz5b7otnV64NeBHzOp0P0GJyLCTLrvQiH/5upsp0yZH6EOKOfqbQ0EYA9sA3DoIHP s0gF96OSv7MhdXtJ9xpf+zs0LrNDR6dCMGktilclfg+GuXKMbLWJbApyC6ijH1+3nW JORG/lsV2il5dfkiZJVhIDqTgsFrnitOYKmWDh9I= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2076.outbound.protection.outlook.com [40.92.18.76]) by sourceware.org (Postfix) with ESMTPS id EBB363858413 for ; Tue, 9 Aug 2022 08:13:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EBB363858413 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mkmjPEVaM2HjfQNOEtDvEDRRWgsSFp4G5h1rQ4yshWkSuqyxlKwKBKN+xyE0sTiiqnUOFC8sP0AAxZs/M0NNoi7+9HlmUu7vp2eW0EHCw4oUaq4+WnfHH0VVbuWojSy41vTpZREZUSc1ZsZu4jhhZvksf+Xc9ZpNP34TZViYZMq3LaB64MGOy4O2LJqnsRnY8tZ5mNcPNh8jMjoMVbPLOF8eNgRIYY39y1juYechssmKI0ZULErIHRgQFjLLZ6XDlNYHOXhZt9EODwC780wAIQfmwLR/Y8z6S8Ep0nfuzo54ZyjekUqBE4HiuuHwOicGZ9SUeW4LJQuTXZMpvxHKdw== 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=pbhUOKzPuvYiLl7p7xrv780cWNjJv2PwsytB8ll3Gkw=; b=JFZz0wZWzA6tz/40w11Xd4gLGf2xfgXlJ0C7xcse/cSuVlX+KVSslykK4oCWN07I23tiukA2XSpkyTnj+32/kJyZn/LyxeVR6FxuBUivMtoR2FY4ojr0C12nhy13AHWc4RW+9MVn01dC87V8UWDReuVRBlrTYgYqIrgaMbZ5oqYBStaXMS2iy973LkBK3qiJlw049asGmVBiUNpSwTSSIlcKzhh5AUaFyBE6kdvGekCrtSdZ16wVYGVR/oMzJMim318++eku6J7LayAGketUWdB5BhWZKvUkPPKeyYEPGkUWZ1paOMCstzraOjz6vS2Uz4vS6iV7bGO+cucGnpz8fg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from CY4PR1801MB1910.namprd18.prod.outlook.com (2603:10b6:910:79::14) by PH0PR18MB4056.namprd18.prod.outlook.com (2603:10b6:510:2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.21; Tue, 9 Aug 2022 08:13:52 +0000 Received: from CY4PR1801MB1910.namprd18.prod.outlook.com ([fe80::d1fe:5357:ddcf:a38f]) by CY4PR1801MB1910.namprd18.prod.outlook.com ([fe80::d1fe:5357:ddcf:a38f%6]) with mapi id 15.20.5504.020; Tue, 9 Aug 2022 08:13:52 +0000 To: gcc-patches@gcc.gnu.org Subject: [PATCH] analyzer: fix ICE casued by dup2 in sm-fd.cc[PR106551] Date: Tue, 9 Aug 2022 13:43:31 +0530 Message-ID: X-Mailer: git-send-email 2.25.1 X-TMN: [BZzPNWeV714gOQ+pf9E9erHXBs2WPB5VH0XLD1paASbWL79aurchITR9GH5wY1pG] X-ClientProxiedBy: BMXPR01CA0085.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:54::25) To CY4PR1801MB1910.namprd18.prod.outlook.com (2603:10b6:910:79::14) X-Microsoft-Original-Message-ID: <20220809081331.6763-1-mirimmad@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5cec02a1-fd3f-4b5e-ca6d-08da79df1852 X-MS-Exchange-SLBlob-MailProps: g0UYh8+NHeVgrCyfYE6irp5DYT6swxGAoIw9rrV2kGFyZdElN7lezLO2E1fOTolRDGXer6IKYVBft/S8T0Q2STx/rcpYMbML3/NEZgraSEoZtr+hKiXodAsLe/H+q5V8ac/7ySoT6km7E7+gJDepReE2MIKPZ/iIqIi9+SbHtryGeM18IH6d0pbb4rklZUL+gcGhcwglOfFUF1nBZ6Bd/nbwEZw3PVo7cHwVIqapm1r5rXugAqcKpNEOGR9XE1D4SY9uQD7q+7kr+GShGjJW4oRjm/lOOWRaoQl0D665oD3QrErKJyw9rPQSb8yzOMkAwSohu/9TI9puxB9+BDozqHtUt+dUijcfkuMO1AelpSpH9zeUj1txpeL8FJw0dUJP7HSDReYISOgWPioF+RX7cezo1+d+Qhu9A5O2kxTNVUcnmPpJIhJIil7E8S/WIVLCxn1Xrra+TcTEKhiOrgcCCrVOis0F3QjIDgkh+mCnwOIKaO/9DHPJZA2xLcyTItJsW40ceKMiLkPh5OmYEMOGEA8z9YcVPfaf5DrDuXjOToHlUeU9Yj1QPwyt95HJVXsXkjJ+dDngXE69X3PbgHu+otZAc51125YoE0rM2SFTT7ujgUj5X/2quLX1V6CoVMriwp84H2SKQxzwKsQHtEHDjORFFB9tvA7p3qGb8l8wzXoTfxCrH/wOZ0J0UWfW6o3iByA8s74mr/TADREOFyljdctonsZ54qFbT35mI9cUnUhGO6uBL8m+BMwhT8nNwc7mreFHhHD44R0= X-MS-TrafficTypeDiagnostic: PH0PR18MB4056:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SXYDrdajypIfNsy8huwCGccuAnIzX3r0sMvXGtKYnjswW5nFBJFGQddxyHXllugr0YbIcmTNvRQ6nSfTQ705A0RBmOWuT3d36IcqUBpRuY2fljca19fWfd7fxlFmEfwZhkN+5Jr+48rpjQv7Y1WXSMd3OTTy5b0oKKAEy5g+43sjUCwp0Du2Y7m3n/LrgYzV0A80PrdnKlNIlpj0tysTT9G9DQTayGl/sbFiMQuh23Z3EHgHEg92QYAqs2/lJpGEqpdQH+TQPoPTjfHARktApCBfxtO+9tU0Ko5TX5IQ3apCO0Vp8VkgkDRoPH6VlAD5Iz9+0gn4J/IdbYlEH/Awd+dl2nSQZfOIb/mODg4+rXQp3sAjjJtKr40RGhbJu6mOmMiuE3WZj7XFO6ZZ6ldP4IBuIVZZaoV7t44rProxOROSxK/JA5kc1Ews5DSklm5guAEz5akWIR0tMUQbYYfuQtCjJasWiix9pGw4h2EgPRLLAUYwlKHX7I39qMYiHKieA3iffG7r/THUNlD5iiL5atQ8mx1gDqbHC+toUBt2+jtX98Q+5ouKolbIHhvMVzVX1tTIaKc1mqjP3/lmwRp946oNnvQSu/jJ9X98nUPqGn2YLPENmV4wxGWUQ2kTu8os+Jne/mOGf6cGtzcGe2x62A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IqgkdDT2aHv8xWDxh2EOPvNMRtju0ugxu7Bvosm6+3c8gP+e0B3e3fENVUNpC4muPTVdDFdMosX6lzqtSl373neoDU/elQsGFxxZGiZr3Sw7moA3YE1uk0wbuDH/szwhSpi/KGIu2XYUWx0XhSHfhQ5DnHDroU8O8Se4+gX3OZeG3dxdSylZcfjBXDfqC37HQVEzWqYk/hh7kYY/8Fhtz4LW5OwP1ofrrZQpzYoT7aXcKwsPxe5Ohas2ykjTk8XtrpwSC8Swc5LRf2uWBnp9feRe7z9vdbXbmptifmeiBXEoWKvzjM0okfixImKsr+fmVJG5zqLYRmvmYawRCvRsC9TjgMfzTSH9GuKjDAK0otj6G+dLhKVd85CNlB0UcdfnK32IH1dIunF8uFfwHBL/gdPm6QPuvUPGF1ABM32uk3D+MkcCzKzXWfQCSkyLgFLwh3GlUXSgrp8o/smFAiDgnF+K47oomlsKLuzYS+L8f9WJRfoYX1/655Jz3L/jDacr6ZsOMYmg7t+3c8kSfG5Ph8iwxujNqwkuG9+5oUy/QGOhp1cOld5TUTCcI7u8SEaW6/rf9w5WB/RMiOP5akVmm+409gXMe6QHur1Yz+MvHJqtWRZ65x97FbykJwZ7TKoZa3F5yJX+lmbBB617lBwexUnaDKy2tu6zkAjR+oO1kU0GSVJfWKybIE+/hbwPgKwkGEnoHb/b2RZ0x8EWD9iYA17wxsGwXFMEpiTNejZaYnEIaiKiIPivSSmnsC2a5pnSRMCWvYrhoQ/LrdJ+sN9V97IxtBozPog10honBCj0Y+6yU9lwfuqIr2i2C9R8fJ4rfORV56kj9fM8odPfS0hDzWaV2vV/JdtRLC0bxpZZUVBahOSPN8Rll8sU7Z1skHpDxUlF4/UgKasuDXKOS7RHli2zu/1uYQdPXhDye5hfDutiKYcqG3NPrgfQdez0k4SP4zvpTa9IQQjjXpmzwrbTZRs+cupVWtqye16/4cYODr0k3tg6b7awMFFvxPJKO3LtCG9RDkJCiPMHHQkzl1OTmUBQbyEn7I0XVf6hfsxw13ms8PguntBEQ0MsfeTa8IZ/coNyFmGTOoGxdH2ZGmJnoLIVGssFWSQbfjUoMic4eW9o7d6hxRMP/Cu+juPv+JLtAhhCyeAAQ0Jrjaj3kUSBq/oEskdi0fioeIFS2sXPjOrCOkWo9CdP7DhPm9N91fHtxILfL7R+3K6l2TyLSQ0wRTaOg0yDCQhszQPZ4UG/8+UOfajM8P+5Azf8D0+0RCVXyaJmn40SZMo/PtdhZEPi8Ne2fPeSEI4rfDc5ZeIqlpfslbBiL92/9sHghV+HsK1DoQCy1nUO/oHdt95WOmn9fA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5cec02a1-fd3f-4b5e-ca6d-08da79df1852 X-MS-Exchange-CrossTenant-AuthSource: CY4PR1801MB1910.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 08:13:52.1436 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR18MB4056 X-Spam-Status: No, score=-12.5 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_PASS, 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Immad Mir via Gcc-patches From: Immad Mir Reply-To: Immad Mir Cc: Immad Mir Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" This patch fixes the ICE caused by valid_to_unchecked_state, at analyzer/sm-fd.cc by handling the m_start state in check_for_dup. Tested lightly on x86_64. gcc/analyzer/ChangeLog: PR analyzer/106551 * sm-fd.cc (check_for_dup): handle the m_start state when transitioning the state of LHS of dup, dup2 and dup3 call. Signed-off-by: Immad Mir --- gcc/analyzer/sm-fd.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/analyzer/sm-fd.cc b/gcc/analyzer/sm-fd.cc index 8bb76d72b05..c8b9930a7b6 100644 --- a/gcc/analyzer/sm-fd.cc +++ b/gcc/analyzer/sm-fd.cc @@ -983,7 +983,7 @@ fd_state_machine::check_for_dup (sm_context *sm_ctxt, const supernode *node, case DUP_1: if (lhs) { - if (is_constant_fd_p (state_arg_1)) + if (is_constant_fd_p (state_arg_1) || state_arg_1 == m_start) sm_ctxt->set_next_state (stmt, lhs, m_unchecked_read_write); else sm_ctxt->set_next_state (stmt, lhs, @@ -1011,7 +1011,7 @@ fd_state_machine::check_for_dup (sm_context *sm_ctxt, const supernode *node, file descriptor i.e the first argument. */ if (lhs) { - if (is_constant_fd_p (state_arg_1)) + if (is_constant_fd_p (state_arg_1) || state_arg_1 == m_start) sm_ctxt->set_next_state (stmt, lhs, m_unchecked_read_write); else sm_ctxt->set_next_state (stmt, lhs,