From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com [IPv6:2a00:1450:4864:20::32c]) by sourceware.org (Postfix) with ESMTPS id E0F5F385B800 for ; Fri, 28 Jul 2023 07:30:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E0F5F385B800 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-3fe10691ef6so1122005e9.2 for ; Fri, 28 Jul 2023 00:30:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1690529442; x=1691134242; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=c+oJdcDTqHnFRjpku/Mi7V3OhFWzufDhcJkLO2whNm0=; b=gJmA/GLc1nriAoc8rCHu5W3VgiTlENYcMlFIREOiNXhlcUQFE2CSSa6iLcpseyZ8m1 aZ+WIdoxRDEL3RXGSV8l9mYhyi6Cdbkj7LMqmn2Yh5sLY7WsQ1aIK+o/w0FZt9lKn+gx s9WcOOGNs3cLyHZb1IJqqK6eqx3JFfEHGi/tua1o2HBVLKEdm6KHCiZYBJPXTQraUqeH E5aqVTXKRPq8O3TGakbJvCjrSndfQ3S1Dy1nnRr8G3PIU/40KzNP+Bai3Vo1wPGZd8rL 7cUx7jYHn/orRhQP3o9/Gl1J9l0OTIS7gAvBHNgmM8MfEMJzKWDswglrL+N24yxUbyNN zY4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690529442; x=1691134242; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=c+oJdcDTqHnFRjpku/Mi7V3OhFWzufDhcJkLO2whNm0=; b=joKCLIXCawZdP/p8AZpwh0FFK/vLj3F6B5izJg2NiTNNYGTcFJvkrIWYVsLb6TJqKV nIIM8rjdjsA8bX0xXgWQAl3K5HjtT/MmWEfAxS/OBnjrt57JVakNVgvbC2zqkOAnfgkF 5j23VQCjzE//0MHfoV7Tj4SY/OdsOwiMKWxxNM56DWsaUIv94i3NHKfxGt6w6/KT3C0Z XsHeY0jiifhON/mZYLNAM5hbfEbExb0W9qJmF734C8FsQPrJIaBsLZYIIViRlbb/lrPE b7SVwy4jqprtqpAb+Rviy5cQWdQJRQRueNfWMOAAhbLetbtKxobmOpbIQfE/3TplRgWP eMFw== X-Gm-Message-State: ABy/qLZsNMMlac80ZbAzsQdUf1WQbKU4QvkUmme2CATWmi7A//fcnGZq Gqxcs9LqUusDi1a0pHNhrTOCeYlDqGxeedrzdApLFg== X-Google-Smtp-Source: APBJJlGHzFPbYrEGKQbAS3cLv7amWzb36suQkJHTLA+ANMgfsbBa5llh9v+h7XjEtGGMjGZ+43DWnQ== X-Received: by 2002:a7b:c84e:0:b0:3fc:3991:94be with SMTP id c14-20020a7bc84e000000b003fc399194bemr964671wml.24.1690529442494; Fri, 28 Jul 2023 00:30:42 -0700 (PDT) Received: from localhost.localdomain ([2001:861:3382:1a90:792d:7d2b:d7e:14a3]) by smtp.gmail.com with ESMTPSA id s10-20020a7bc38a000000b003fbfc61d36asm3556071wmj.5.2023.07.28.00.30.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Jul 2023 00:30:41 -0700 (PDT) From: =?UTF-8?q?Marc=20Poulhi=C3=A8s?= To: gcc-patches@gcc.gnu.org Cc: Piotr Trojanek Subject: [COMMITTED] ada: Improve defense against illegal code in check for infinite loops Date: Fri, 28 Jul 2023 09:30:32 +0200 Message-Id: <20230728073032.1852060-1-poulhies@adacore.com> X-Mailer: git-send-email 2.40.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,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 List-Id: From: Piotr Trojanek Fix crash occurring when attribute System'To_Address is used without a WITH clause for package System. gcc/ada/ * sem_warn.adb (Check_Infinite_Loop_Warning): Don't look at the type of actual parameter when it has no type at all, e.g. because the entire subprogram call is illegal. Tested on x86_64-pc-linux-gnu, committed on master. --- gcc/ada/sem_warn.adb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_warn.adb b/gcc/ada/sem_warn.adb index 5dd7c17d4e2..7ecb4d9c4a6 100644 --- a/gcc/ada/sem_warn.adb +++ b/gcc/ada/sem_warn.adb @@ -591,7 +591,9 @@ package body Sem_Warn is begin Actual := First_Actual (N); while Present (Actual) loop - if Is_Access_Subprogram_Type (Etype (Actual)) then + if No (Etype (Actual)) + or else Is_Access_Subprogram_Type (Etype (Actual)) + then return Abandon; else Next_Actual (Actual); -- 2.40.0