From patchwork Mon Aug 15 08:32:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Immad Mir X-Patchwork-Id: 56735 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 A40F73858004 for ; Mon, 15 Aug 2022 08:33:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A40F73858004 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1660552406; bh=V9PWlhI/jhQ1I5MuIOs36ylaZLyJdI6xGvcTomv593s=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=iMe5VesULVtIK5KkDKF5BZ8xmF8+sTnTOz4YGXx2ucpNPuUU9ekfNeN7dzdWOHup5 HdTwPSWqr0vZd02kvRJLhC33J8pnIDjppf8/SasMCd+9FjVF58YlMbPt8CjiEyvl/7 JnYxMTswTVWTEubJRcMQMLoFkmiTXkxBK80hTdBA= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12olkn2012.outbound.protection.outlook.com [40.92.23.12]) by sourceware.org (Postfix) with ESMTPS id 543B23858C2F for ; Mon, 15 Aug 2022 08:32:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 543B23858C2F ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ju+Tv585fj4xQpVoyFyCR8oeqBE2dzBfpBu7nUlYM6syPZNA2LCR0M97OIyVQXWPEBnL4Wf7vMeVJknDWeUxLI7l0rNZH+I5UlZoaZ7k5sQLxHY0103LjwRFWDeiuUxvCPtaqq3HaUk9UYnWODeGwJK0lrnrgL67RRKxx6HYz8hfwc6isIJOwOzK4G006QGJHIsfDbIjVaQc7XV6HCM6KqHn5u7vaRQOun2p+XSIl2/8D2oD/vniK696vMLgbEUfKYS4ACCO5siw3wb6RYOeeC4pnL+olWFvADxY0gL9dsrBtvB/s2o6POS/iziJurdJHkGB4qZ6aqG3+WlaOBte/g== 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=V9PWlhI/jhQ1I5MuIOs36ylaZLyJdI6xGvcTomv593s=; b=PhYbu+MRjFjFYSQmp30poJUpKOiTy1sbh1ajtOqBWxib8g+eiWnbP8ee2hEHogzSvTIDqyIFIqekWuixFa0n8FNMWURgc++vsuYOT/oXiWmUf4Zdph34zMnRbASs4vkK5ChFgH8Lt1pTrHFKMkHSTra+mLkZE9qoKneMn6M5rPPUcm9TWhyGY5oZEfAstXhqbcFx9dSGtWYy4hqv234m/Boo151l3zlhljMlr5ldRjF95UrX7EZWZZMrEm2E147rLsn2Fg3xSxR5gDEDUxPmdjsg4+AAYqLjRyaTsJz59lLLD82FdED5LRls5tjWi7GkDhyBqwn5UYhgvCtvMZ7jqQ== 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 DM5PR1801MB1883.namprd18.prod.outlook.com (2603:10b6:4:62::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 08:32:51 +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; Mon, 15 Aug 2022 08:32:51 +0000 To: gcc-patches@gcc.gnu.org Subject: [PATCH] analyzer: fix for ICE in sm-fd.cc [PR106551] Date: Mon, 15 Aug 2022 14:02:23 +0530 Message-ID: X-Mailer: git-send-email 2.25.1 X-TMN: [H6fkGKMeFilG/gP9DGhiBLL85QtRfBDM2DRnKcFP79e0vulou9RLtpM3DOMF+nyY] X-ClientProxiedBy: BMXPR01CA0082.INDPRD01.PROD.OUTLOOK.COM (2603:1096:b00:54::22) To CY4PR1801MB1910.namprd18.prod.outlook.com (2603:10b6:910:79::14) X-Microsoft-Original-Message-ID: <20220815083223.6987-1-mirimmad@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f4078054-e8e1-401e-13ba-08da7e98bd8c X-MS-Exchange-SLBlob-MailProps: dCxCH8EXOwEEdE4BWHyAmWVaFeK9PDvxxPfAATK/LCSxmpyOGQY0sMnm6l1gJ14+T9Czs996NpcgupuJf92Rc1mwjPkhXbPv2pdvnwAli3l8ZJ6ZjHo01UQFjeamju3puRV6WP06DbmHIDLyJIm4LYPXlLXD/R8wwtPRkCFcyWS2xGTKfw54GDezO89BpHmMqPbocbuIXUa/HunACY9sad/2jR+2ypu+Cg5JyV5ZafMZdwHaJ3J90An8UhlscvKvA9IXr+sNTfekBEvw3B2wN4icTkN5586U8O3ylE4vKWDrq/ZOSMAaEsKOBz5yxBTu5Z/ScX4cg7wdaq9IQ9dp0/kGMEzsiHGhGDSu+8q3l9+oZNqyzlH4yXzCNRhP/pVAZ7VkbhHtUW0Ocpx27Ko2H67eHfvPsF7WOUyAGyaVnaZdLiFkUcbHp3X1gZZj5QwSYWSbJWYp+3qXvfizJWtbbEXHExAMZXBPReTqWtuXN5Via4BVX8rdPsKdYtch5/jdJqwhagHSLuuwHgwyZSImiMnFP3Ddx8deygeEW7AByjTXFQKXlqjh4XGTeIk2F1ixwLpwE3GvvpcqZaWT7C0+Brol+FHyUqNHyq5YHBbS2LnlMXTIdQZ9cyxhv9UPofP9PncqmTzCXOltnxScGFLqoWPUlvdeSz3fBLMkAryXJsiMrPRBbOMoRHovNWRs9dyJ6Qjzd9C8JBdffcKYm9OgjrrTEH+zS9Hlm1VWHUG22u+IC1VfGTt30Q== X-MS-TrafficTypeDiagnostic: DM5PR1801MB1883:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3vdQ+X99BthseEQR9/IS+1aIqMrRetSxCt0aQHO8PdiYKaNb2LOfhs9tKowOCKt9ucqrnCXa965B8cluGm6j4to/sg+TSrmdUhOlsMmGLhfvgW/kILNeVRqQbp1lRmUzJ8apa+h3MOJ53AQiyHR4RaVXRHguF2l6PHBhFGuJhSBlz+uqv4fLYnz1azIJcyWntfrESwZHpem9Us0nXk4m0MRL/v2wf5NK6Jb3bOxAFOuAqDz+H0aBok9ccWF/da+zENpFRDGAozwomrz7NRqPnaQGGEB0sTeoS0XoP731RowtrC/A03cO93SgSs8RFDnHrz4Iqo7ELGys92zbmuNkpYe3zdY+r3fyyG56yLmqo8tqjcUo/6aRKoVtArX9nIorgApC6kLH/NjeDIpV8IbOoQo5+AIh7d26WDjCVoZtvbqPbrmFyRDLfxUZih7T+QIg5bZYgzqJbgw/WQAoa8oprH//MEUDh9OZBT0n84ZcX5bFRvB0dnBFrlLB2jxU6+V0GUX9nFgFDfWiMfwptOoDpEbOwGBe42aDbyhjRvUmR48MhE5AauCZDQ92RusrmATh+NXVJ7zPeomjYxyzOidX/3HpeGplxaAFwXKYyV/3oZJdnWh5mFqVE7S5aoeG+URZ X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wZahdIA/JDV7wI7tyikUKVwXEAlI1DKALGsL86v0MsoDqQV3fEpZ9B2409gl1NY6N+NzzDquPK6LbPfCVRkyNQm1XnxdLk03wc6Wns7yVZpcWXssPbmjwxDngtbz4m5Q1siz2wP6sumlkCBIvB9YHRUnnz9jfVYWH9hAiiBScObTN7hm+nKJQOpaczGD9yrj8tcUzwGzg4f8hKR3fZJsCghK4VKm7/OdMhvnMTA2owaoB54TGlCXZLTJfHcQ9Zga8UV55eG2+PTzzCvSf4dyHmNcf0POwbD6xsW0vZTzXNTckOeIgDllVDnNoHGWeWCk1SQMDvJywzkp7BwB3Exwco/rFWgXasoU8Va1NgLaW+YX3/vscXB+0EBprZM75eQTd6UVAc0OxeShAblKCVH6h7+DNL9PXZ9BwCoa9lFZ89bpVd7JvwMODc0ZfH/ZuxyVl2DFLjlTJ0TOMRDOPmzsI8196fI+czai8YKFVnEOacU8cSUmCSeek5Yp1eCuMqgrinV6WUeZp+6UGVBSGuXDnJd/j1Lfiz0p5X2jtOi+Lvusp8EHTC7kBr5UjJzGbVKMNZZViVzNQOBk+lHkZEoCL6a0DDw505yog6XtbDP4DOlHUdf4iWrQUYdpT39XjJbg9tDrblzYeCk726bqlbk9t3H4geoV2tL0mAEFUBoiyuWY528GZEhxfvA0mEcCpii6mVdzP+ipwYGQugdOrZc0Kdl1LUm2XUHSVdEHvvFnkJhhelBmAs5YoyzNvhWHiVdilWE/g3Xp8AlBJ2EQWu0HYibue6ZP/TbVcUMCwKWCFhSoJYM8YYWJMnVodO9CVZg0Dp75kFsG+nh17lE5meyHSc62DZb5a3qOwU4s5cM4eLPWBABYzHJsQS3ThAo0gUNkl3496PVTGZhAHopPM9CAwEYrBRVXgbylwoinEPCVHTXKUqcQsqA68riKODX+PSgBpkWhtw4pXMrWAlEPGjYwZvPzllLpXLrJWu+q8Fwzstzgj1ce/iAQUULwOXt25qcQgLnUEelAMVGKG6QiubMvByGW6S9xnvc7flUutri8nNhoqBl5FAWv8WQsZOnwEwzSeF5efc/ldDQgoy46TS6FLOonXfqsg0Ty6ynR11sDIapt2WYL0kjaz+vRPn5CnLgmSCa880deSqwu38ETsaAVBBsgR8/JFRByXjMcLknHim5YGe5s52TZcNTmVBUa4U1EzVJUckgO0fYqqKo1grxvt0TCqWgxrwSUuObIGjWv/12GXF8dQWf4lrLNTAuVUSDecSwG0NWFu7D1e0BqpzixsgCMgJR9PZYVSxftjHk2p5kWSSsCkFU7NAo/xppVN+a9ogtCdiFPLQMPRQup6H+X8Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f4078054-e8e1-401e-13ba-08da7e98bd8c X-MS-Exchange-CrossTenant-AuthSource: CY4PR1801MB1910.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 08:32:51.5142 (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: DM5PR1801MB1883 X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, FREEMAIL_REPLYTO, FREEMAIL_REPLYTO_END_DIGIT, 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: mirimnan017@gmail.com 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 in sm-fd.cc by exiting early if first argument of any "dup" functions is invalid. gcc/analyzer/ChangeLog: PR analyzer/106551 * sm-fd.cc (check_for_dup): exit early if first argument is invalid for all dup functions. gcc/testsuite/ChangeLog: PR analyzer/106551 * gcc.dg/analyzer/fd-dup-1.c: New testcase. Signed-off-by: Immad Mir --- gcc/analyzer/sm-fd.cc | 3 +-- gcc/testsuite/gcc.dg/analyzer/fd-dup-1.c | 11 +++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/analyzer/sm-fd.cc b/gcc/analyzer/sm-fd.cc index e02b86baad1..505d598f3f0 100644 --- a/gcc/analyzer/sm-fd.cc +++ b/gcc/analyzer/sm-fd.cc @@ -976,8 +976,7 @@ fd_state_machine::check_for_dup (sm_context *sm_ctxt, const supernode *node, { check_for_open_fd (sm_ctxt, node, stmt, call, callee_fndecl, DIRS_READ_WRITE); - if (kind == DUP_1) - return; + return; } switch (kind) { diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-dup-1.c b/gcc/testsuite/gcc.dg/analyzer/fd-dup-1.c index b971d31b1c7..b4f43e7f0ef 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-dup-1.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-dup-1.c @@ -245,4 +245,15 @@ test_22 (int flags) close (fd); } +void do_something(); +void +test_23 () +{ + int nullfd = -1; + int fd = 1; + if (dup2 (nullfd, fd) < 0) /* { dg-warning "'dup2' on possibly invalid file descriptor 'nullfd'" } */ + { + do_something(); + } +}