From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id wFoPCNHH/Gd9dDMAWB0awg (envelope-from ) for ; Mon, 14 Apr 2025 04:31:13 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=bvXZpZiz; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 1D6171E0C3; Mon, 14 Apr 2025 04:31:13 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=unavailable autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id C6B851E0C0 for ; Mon, 14 Apr 2025 04:31:12 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4A5C1385840F for ; Mon, 14 Apr 2025 08:31:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4A5C1385840F Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=bvXZpZiz Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTP id C9E553858D3C for ; Mon, 14 Apr 2025 08:30:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C9E553858D3C Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C9E553858D3C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744619410; cv=none; b=UQp4srAjgTM4hfmh9QQab8TzNI38uSJy+NC40ciHHoDQ5q/LBets28kTLpnY5NRBy9J5eOOT6NWYeEHZFjgrpilUnQHg1c66mHnOKIFwH9aNG5Xby9aulIF/rcw54M9/7cr/E5hl7b+fXI6oH+JFqG7Yw5I55pmpKqH4GUguilI= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744619410; c=relaxed/simple; bh=JjL9Y6snLBSvlM+EolYKYXPH8kjIpVGQSj0wK9hOSx8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=aCDNp23EUeqjLXnd81uP2xUZ956ooO1TyXvJz6AEWRk6ItWadeOFl27n/kb0teF8F/9Pk5hT1bUsOx7hEfOlCrGuNzCvZnMUkUhCOCM+Eg6SJXF3Ge3z+DgcOswxFtnEb3Exqx+i5RPmPYqX5/IzauoQNbx83tQvDQBJA0DunB0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C9E553858D3C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1744619410; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=VQnO/U2gaJtT+lsozN0GI8EMMdbBDFem1mU5XvTW4MQ=; b=bvXZpZizZT9BeKEF1R4IbMINmG+Ex8Eldw4MMFZE7EKdS95aEMbbgA35Gf9o6pAV99R3Lh jj/XjW1e9/aL34iidFmnylPlUYpWuMNYUsiIiA+vo1egNW8pUb7OmfWrHOruPa2UqIMpjD yeBYp0aNh0mQItRtfPGrwLPxwT6cBhs= Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-655-Nl7pYr2uOM-7igayWLtZaw-1; Mon, 14 Apr 2025 04:30:08 -0400 X-MC-Unique: Nl7pYr2uOM-7igayWLtZaw-1 X-Mimecast-MFC-AGG-ID: Nl7pYr2uOM-7igayWLtZaw_1744619408 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-39c30f26e31so2731370f8f.3 for ; Mon, 14 Apr 2025 01:30:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744619407; x=1745224207; h=mime-version:message-id:date:references:in-reply-to:subject:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=VQnO/U2gaJtT+lsozN0GI8EMMdbBDFem1mU5XvTW4MQ=; b=EMSKxmpaJKqy7eIgcUhHCCOYsSq8SmQWISvU0ocUmweaGbZwJe621PRMdNJ2yQgiFX lRP9ogu39zGuJQWTryBj7IQJASnAVrp4yIaRBxhAt54hfjbqvkr9Pg7fiEU8RksqUPei t1kjzq964oUUcy25hCDcKrDkb8DvecFGSHqh37lto0W2BYXXQII2bIOVq7icRi9Gc0uw DwJmpYnIYCiYJsI/c15eFr5ZhIWE0WFXfABwORM9iHN9R4o0++N4/9uZ7SSO+SUR/ji/ xIWAG/7jPbVf9ItVCKcvSl2TNkO6lCFauWaDuMlyNFUBCLA7jtcjJkP5MHcLkJx/Fp0N L+6Q== X-Forwarded-Encrypted: i=1; AJvYcCWwiI9fU7gclHPRfzNc2nQ1RFkrOiN+ZjXd6BW8TfdOkvaFLlksY/3eotvxWU9kmBiLu78r+d3Sg00Nxg==@sourceware.org X-Gm-Message-State: AOJu0YyG8DRpRBiZXMoUPXOeWBQP8irWZO5l9t4CJhjAnzVjVz79pHU5 gx/rugdM70TjFjXlyrOY8igx5aTs1qruQMKC+qFuVuvXB7B9d3o2njbTBtW3aL4LEYodc7RXUxH M/jS8umpgC223+crroPxzyVe/1qu8sNXloYlMJU1tWTe5v/gEJ1ArzGEcvqVPkVPsRNk= X-Gm-Gg: ASbGncsv4NZlX6UaxsAB3mV49zGS2fWLYKOYiIMts8b0ukS/3oAjKXVhas1ZfHHNbPz KW0LQSichoKJUsOM5I/3G3lR5tBl7eT5aB8LrLwFZNYN5Td8wDf9uO3ahn0qLM2F3NUXbK9JE9q w3dO1iJLiayPa6gmAu+XefilJMey6Ltd3UCePld2/vJvGqnJEkBU+YcmdMzOZoVrqwi7Lu7odCu k9EhBW4o55yDttL88q8qvzOePlRDtyHfaQT/j6bQud6YyWstw33q4FnL1MQ53mjnqMlMekIkl6r otUGNAFVAu1zHf9vsBW7KCaiXprm2fp1hDRi X-Received: by 2002:a5d:5f52:0:b0:391:2c0c:1247 with SMTP id ffacd0b85a97d-39ea51f418cmr9617153f8f.1.1744619407034; Mon, 14 Apr 2025 01:30:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGhXy9WOJ11tpVCiGcWZxyZpmx1eMpqTg0u0hebRxYsRidkuGx1EhKkr0Y8+OMIXqrAxfB/kg== X-Received: by 2002:a5d:5f52:0:b0:391:2c0c:1247 with SMTP id ffacd0b85a97d-39ea51f418cmr9617124f8f.1.1744619406466; Mon, 14 Apr 2025 01:30:06 -0700 (PDT) Received: from localhost (30.226.159.143.dyn.plus.net. [143.159.226.30]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-39eaf445454sm10210316f8f.83.2025.04.14.01.30.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Apr 2025 01:30:06 -0700 (PDT) From: Andrew Burgess To: Simon Marchi , gdb-patches@sourceware.org Subject: Re: [PATCH] gdb: add an assert to cmd_list_element constructor In-Reply-To: <44fd10ba-0696-489f-b05b-b8f41c1496d4@simark.ca> References: <423dd71ea44c518a22cfaf09b8dd5e9932cbf922.1744549721.git.aburgess@redhat.com> <44fd10ba-0696-489f-b05b-b8f41c1496d4@simark.ca> Date: Mon, 14 Apr 2025 09:30:05 +0100 Message-ID: <87bjszdu2a.fsf@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: hA0ZGLyQE9UXHIWy75B34kWFfC5rYLcnompi_RAxRGc_1744619408 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Simon Marchi writes: > On 2025-04-13 09:08, Andrew Burgess wrote: >> The cmd_list_element::doc variable must be non-nullptr, otherwise, in >> `help_cmd` (cli/cli-decode.c), we will trigger an assert when we run >> one of these lines: >> >> gdb_puts (c->doc, stream); >> >> or, >> >> gdb_puts (alias->doc, stream); >> >> as gdb_puts requires that the first argument (the doc string) be >> non-nullptr. >> >> Better, I think, to assert when the cmd_list_element is created, >> rather than catching an assert later when 'help CMD' is used. >> >> I only ran into this case when messing with the Python API command >> creation code, I accidentally created a command with a nullptr doc >> string, and only found out when I ran 'help CMD' and got an >> assertion. >> >> Built and tested on x86-64 GNU/Linux with an all-targets build; I >> don't see any regressions, so (I hope) there are no commands that >> currently violate this assertion. >> --- >> gdb/cli/cli-decode.h | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/gdb/cli/cli-decode.h b/gdb/cli/cli-decode.h >> index 217afbc8ca7..673cf6518d3 100644 >> --- a/gdb/cli/cli-decode.h >> +++ b/gdb/cli/cli-decode.h >> @@ -62,6 +62,7 @@ struct cmd_list_element >> type (not_set_cmd), >> doc (doc_) >> { >> + gdb_assert (doc != nullptr); >> memset (&function, 0, sizeof (function)); >> } >> >> >> base-commit: 33d5188ab101bf414c9950ba914a128d08166105 > > Would it make sense to add an assert that `name` isn't nullptr at the > same time? Good idea. I've added this assert, and (after some testing) pushed the patch. Thanks, Andrew > > LGTM in any case. > > Approved-By: Simon Marchi