From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-114.mimecast.com (us-smtp-delivery-114.mimecast.com [170.10.133.114]) by sourceware.org (Postfix) with ESMTPS id E8BB43855163 for ; Fri, 16 Dec 2022 11:40:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E8BB43855163 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=labware.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=labware.com Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-56-3eBsrix8Ny-YwTk6_1wFcw-1; Fri, 16 Dec 2022 06:40:01 -0500 X-MC-Unique: 3eBsrix8Ny-YwTk6_1wFcw-1 Received: from DM6PR17MB3113.namprd17.prod.outlook.com (2603:10b6:5:6::10) by MW4PR17MB4778.namprd17.prod.outlook.com (2603:10b6:303:10b::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec 2022 11:39:55 +0000 Received: from DM6PR17MB3113.namprd17.prod.outlook.com ([fe80::1729:3f69:5d95:b768]) by DM6PR17MB3113.namprd17.prod.outlook.com ([fe80::1729:3f69:5d95:b768%7]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022 11:39:54 +0000 From: Jan Vrany To: gdb-patches@sourceware.org CC: Jan Vrany , simark@simark.ca, Simon Marchi Subject: [pushed] gdb/testsuite: add test for Python commands redefining itself Date: Fri, 16 Dec 2022 11:39:30 +0000 Message-ID: <20221216113930.80695-1-jan.vrany@labware.com> X-Mailer: git-send-email 2.35.1 X-ClientProxiedBy: LO4P123CA0555.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:33b::8) To DM6PR17MB3113.namprd17.prod.outlook.com (2603:10b6:5:6::10) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR17MB3113:EE_|MW4PR17MB4778:EE_ X-MS-Office365-Filtering-Correlation-Id: af44f104-e12e-4109-4304-08dadf5a4056 X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: QKFuQLfMmK6WJZOiK6cEd5TzmdWsYVqgye10wwnGJ2MayPcMY3VX0t3ttr0lQSdXpp8WDDSU+wWHzYvpIkvicQ4pWdEGLDWnhEBlwSnmjxJYT2n72ukNPVfROxcs7hKWijAGagOTxfFRe5GfHvZTWUz8ctEmmogPxRUm6D56hi+B0LGkSyxvKxcr0IkNmldHrRu3O55VVQO5jgj1EweF51dfIN++24+Dw8dvmKI4yyjjZ7Fs8s1oxPDnQLl05+b+WTHHU6Q5i89T6WhbbxLjvnELHG+49zPoGC49Yw17uQjVsKCdplbSjinpF30Hw1/yOSEduM/uZb9kCmTSSoc0qt4QAwvje4y7v5uh1NNQdzcuqWwrzlMKwAMaKnxyRPKPZWUL0UH3rByHMwLXLmsnWbEAbKGZdey2DVCta6YWtGKNj1NmoRa81Zl2ZmDwKtAP6Dz56TYguvs7VCwaEUQvr07bZrgcJFPLBc5CoQCLGc9jhxa52ICm3zY6do9HhueeibPPh16leeLeCQviQnlmTMkqvtIHzswa0CTyqfbt8omtXN3veKFK82XFQenXz1N3OrOVzqTaGF8YTGSWWRcH1jSdxV7AWcleVvic2feI6yUCsIHfv5jZTfWrm5CDbJZ1suA8W8tH88MAdqFdmNjqvRQPnOnqRP4F9JIlGrOJJWdpZGGZUAG5SfCwATtnvwxQ X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR17MB3113.namprd17.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39850400004)(136003)(396003)(376002)(346002)(366004)(451199015)(186003)(6506007)(6512007)(2616005)(1076003)(478600001)(6486002)(6666004)(83380400001)(36756003)(26005)(8936002)(41300700001)(38100700002)(6916009)(54906003)(316002)(2906002)(66556008)(86362001)(66476007)(66946007)(4326008)(5660300002)(8676002)(44832011)(21314003);DIR:OUT;SFP:1101 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?c0ncoaW1KXh+iyx/WYsv9Anb2PBrQ8p0OV/tL2e/aRsoHgABtnCIXE1wMLsA?= =?us-ascii?Q?4z2dBOmdFCFzOiyYTB8Q7LDJT+PMicMmCCRk7emna/2rRJUccwe4f8z2AJCR?= =?us-ascii?Q?OZyXrusnmohpO5ngGbzXZYcvG3/7coXXPqpe0XwizegXwkR+ol2+YPD2C4tf?= =?us-ascii?Q?DJrxE/BU1Tdqf/RqyeM0oAUnA8co6s8pLFaZ2A5iHDU1WQSd4unNfQrENCIq?= =?us-ascii?Q?yBIpUO3rf3zC7Rk3J6dvWKOHhN+TobM0PtrPebd0xaPlNd0l+BWHt7e/poQ7?= =?us-ascii?Q?leIXllCA/r1/tOlf37NkzE+9T1JQVdc16XLSfvSZpiPfJCIE5X32kWw4yoEn?= =?us-ascii?Q?sgomEzIpqswHfZSdX04jp7RUkqBvZ0z6zIgJV7V9w51bPg6cUBHzjyLWxhWV?= =?us-ascii?Q?lBfs9FChW8lCtedSmwTqz+vnwz4BJC8+JjA1jmDM27rEk8QN10FbSjJVOleM?= =?us-ascii?Q?Uz5IBbfNWZhqg8s7eg8GlP4H03vIIIlbhcX+fKl2eC5tbVpXFIIup78JcWd2?= =?us-ascii?Q?zt35a1mr9kh46j/GimxFIXrU60rKKeW+/eSyVXUSLbbAkpYHiNpTM3HRnO4y?= =?us-ascii?Q?ELS8UdlN/yiAcdCDQH2Q1a2Fau8kGZ/9ho5OoPkj+G5KcIPhW8JUuDLY8Cyh?= =?us-ascii?Q?yhr4fQoXFD2xpvNIl32Tgec2erOiNjyBult0bnuiPA1rdZ+jphCvKMrEK8Hl?= =?us-ascii?Q?4P3XHhs6hrAZlL0Wz2gqmhZ+8ZdyinIXwuHR52oVxB+4sBtQ9P81Oqd+4Uag?= =?us-ascii?Q?eQZcxWt4wdsvBY97GabuFcu9fscL36fhKOp6KtQ5FDWBjXSfzxelaZI8+NGz?= =?us-ascii?Q?FKhvd+ubEKVAfjXTNih4gzoUkmQwVXgXyaA+Kh2YSpLqprrNtgcd0sYGciKS?= =?us-ascii?Q?FhwxnP6tPTMGGUwlRZRKM3mQEK/NPOoONnpUjBXu9JiGz61ks05n8ptgP8ru?= =?us-ascii?Q?lDW3HGWB7vQjsuApEZ2gj7iakdHKsJMawFe4GghBpu2seJoExCp8TTmO/WWl?= =?us-ascii?Q?Kn9senPknHyqOOo+k6d3Nn0IKaa+CKXAhpoZNCtgP2uj9IzYDcOMrZqBuAcP?= =?us-ascii?Q?pvgIZwZaA2D1TRAzM1jObJPTAi+B1nw0+TKOu1PqwwLhahO2dbz6W/mXr5dI?= =?us-ascii?Q?7vDapEx3mMYuonXJLyHHAr9Wcx8HLjK6duvCexaKmfZXVslKnF523W8Jb0wU?= =?us-ascii?Q?72hFgZsYkZl3xLB17+wDFZPOlajBY4eO9D4E9FnmvVa1dL5Pf/66A1mwDuu6?= =?us-ascii?Q?v42vuMC87Ro9O9dElyBI0HWWZIE1I9s1yQ/1bvXn/WHin/yXsTV2s709RtuY?= =?us-ascii?Q?St2uqIPCkBJB2uciCasLuLqdQQlB1t15+Tr11X/20qjkKSrxE29awY86/NAP?= =?us-ascii?Q?UpaqFPElvPlM9yW72R7c0HpXm+TeXKrFzdj/cSi0hzl0pvHhZinIhWwASg+Y?= =?us-ascii?Q?WGZXiRRXOuGGUwIAM33a1jQ7+sLTol+q5Tzo26aKc6wUyenxbp6bRCGzfp8g?= =?us-ascii?Q?jEpWJHyPbc8hqQWvN2am/PZPlrfEN1A0NDiEBxgZhoS/0yxsR9qgAefPl0cU?= =?us-ascii?Q?X90WCM0+9X8b4iX5chfoBzbcnqqIWnW+nd3sX4lO?= X-OriginatorOrg: labware.com X-MS-Exchange-CrossTenant-Network-Message-Id: af44f104-e12e-4109-4304-08dadf5a4056 X-MS-Exchange-CrossTenant-AuthSource: DM6PR17MB3113.namprd17.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 11:39:54.7198 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: b5db0322-1aa0-4c0a-859c-ad0f96966f4c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 1abrlRL7yrFYt6yymEnZ2AOc3sLWjKA2oIqaof35fizvIdHFsbt284VZ7an+ut2XvsPdXlzOUWNfa21RpUrjWg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR17MB4778 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: labware.com Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=WINDOWS-1252 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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 List-Id: This commit adds a test that creates a Python command that redefines itself during its execution. This is to test use-after-free in execute_command (). This test needs run with ASan enabled in order to fail when it should. Approved-By: Simon Marchi --- gdb/testsuite/gdb.python/py-cmd.exp | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gdb/testsuite/gdb.python/py-cmd.exp b/gdb/testsuite/gdb.python= /py-cmd.exp index aa95a459f46..48c3e18f1cc 100644 --- a/gdb/testsuite/gdb.python/py-cmd.exp +++ b/gdb/testsuite/gdb.python/py-cmd.exp @@ -300,3 +300,33 @@ gdb_test_multiple "test_multiline" $test { =09pass $test } } + +# Test command redefining itself + +proc_with_prefix test_command_redefining_itself {} { + # Start with a fresh gdb + clean_restart + + + gdb_test_multiline "input command redefining itself" \ +=09"python" "" \ +=09"class redefine_cmd (gdb.Command):" "" \ +=09" def __init__ (self, msg):" "" \ +=09" super (redefine_cmd, self).__init__ (\"redefine_cmd\", gdb.COMMAND= _OBSCURE)" "" \ +=09" self._msg =3D msg" "" \ +=09" def invoke (self, arg, from_tty):" "" \ +=09" print (\"redefine_cmd output, msg =3D %s\" % self._msg)" "" \ +=09" redefine_cmd (arg)" "" \ +=09"redefine_cmd (\"XXX\")" "" \ +=09"end" "" + + gdb_test "redefine_cmd AAA" \ +=09"redefine_cmd output, msg =3D XXX" \ +=09"call command redefining itself 1" + + gdb_test "redefine_cmd BBB" \ +=09"redefine_cmd output, msg =3D AAA" \ +=09"call command redefining itself 2" +} + +test_command_redefining_itself --=20 2.35.1