From patchwork Fri Dec 2 16:15:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dodji Seketeli X-Patchwork-Id: 61372 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 5CA623858C20 for ; Fri, 2 Dec 2022 16:15:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5CA623858C20 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669997721; bh=wNdLNBiV8Uz45Tjkrca8yZmbwKqZiKEls/eDrKcTE7g=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=fQddnyj6jjGTg0ItqQSR3oblv5lmBRqIRRA2Owk9aql/yFLK9Z1UUeOaOqhOBAzBJ zvCEuntCOJwe/oo3K+fTOzQjKYW0hoq4hXleikgrCU/UuO6B0l43N8DINPErihAOf/ D6zZBTOzpTfg0P6XCbZMXKnTTkZW99ci1vhrB1s4= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 79C263858D20 for ; Fri, 2 Dec 2022 16:15:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 79C263858D20 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-668-TeIFghKQMNajNBkM6-YLMA-1; Fri, 02 Dec 2022 11:15:13 -0500 X-MC-Unique: TeIFghKQMNajNBkM6-YLMA-1 Received: by mail-wm1-f70.google.com with SMTP id i8-20020a1c3b08000000b003d0683389daso4327319wma.6 for ; Fri, 02 Dec 2022 08:15:12 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:user-agent:message-id:date:organization:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wNdLNBiV8Uz45Tjkrca8yZmbwKqZiKEls/eDrKcTE7g=; b=VaF1HhHcCo2fSkzAXql29oa9PLMh9TcD9xpkkG3hUOZrdfqIP8G042s84s+XLDmnZ4 kDgNVXHcxHMVn7g4Y1OZKQf7Oz1QX4woXE4o1wP5It9OtFkKi78VS9BYAAKNitILK7fm pg/n+rxEUEOARJt6ciP4Gs398Ske8E13cvj/cCM7h4NOntSAYIBTxJOxaCpKmGuG81Y/ UzsQ7Lqr/iRhb3EaqsSJqC5uQqTINmQjidNsTZIr9hlBHxV4OpFn3aZcrITDJpmkxcyL JRbakoylOrM+0MnPzEJY2XsCNzsAzeQ87hR2L3yg6ZO4rd8xCqZ2qEHFlhOKknYr2XES VtZA== X-Gm-Message-State: ANoB5pkxHbcsgCg+yaKyDkvRsXyU5rMMpoNcfh8FNlg2ewrxNK8t6dJ5 Fb1+sGUfrvXQIXf9uwy7E8M5lm3p9zmWec33JaB6L7SHXoJ3QY6URa6qp8P2tlVI7FigljKiKOY A1FjpCGmwp1f6uwjxM4GnKCMUx45T4HKXpakfxqxboSK5eWx/Kf0cPot5y1paGnt8dKzH X-Received: by 2002:a05:6000:104a:b0:242:1053:a42f with SMTP id c10-20020a056000104a00b002421053a42fmr18732821wrx.325.1669997711687; Fri, 02 Dec 2022 08:15:11 -0800 (PST) X-Google-Smtp-Source: AA0mqf4maQyX4D16AfRJY9/lBGk5Ov+ltL4hKnngd950EGyZqpcIPLTo9Pv8Nb9cTI+RZ4JNdThlgw== X-Received: by 2002:a05:6000:104a:b0:242:1053:a42f with SMTP id c10-20020a056000104a00b002421053a42fmr18732806wrx.325.1669997711408; Fri, 02 Dec 2022 08:15:11 -0800 (PST) Received: from localhost ([88.120.130.27]) by smtp.gmail.com with ESMTPSA id q13-20020a05600c46cd00b003c6f1732f65sm13953784wmo.38.2022.12.02.08.15.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Dec 2022 08:15:11 -0800 (PST) Received: by localhost (Postfix, from userid 1000) id 48C08C1B73CB; Fri, 2 Dec 2022 17:15:10 +0100 (CET) To: libabigail@sourceware.org Subject: [PATCH, applied] dwarf-reader: Make die_peel_{qual_ptr,typedef} always set peeled type Organization: Red Hat / France X-Operating-System: AlmaLinux 9.0 X-URL: http://www.redhat.com Date: Fri, 02 Dec 2022 17:15:10 +0100 Message-ID: <87359xu6i9.fsf@redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, 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 X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Dodji Seketeli via Libabigail From: Dodji Seketeli Reply-To: Dodji Seketeli Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" Hello, When die_peel_{qual_ptr,typedef} don't actually peel anything, they don't set the peeled type output argument. So callers expecting that argument to be set can be surprised by the fact the peeled argument might not be set. * src/abg-dwarf-reader.cc (die_peel_qual_ptr, die_peel_typedef): If the function returned true, then set the peeled argument even if the function hasn't peeled anything. Signed-off-by: Dodji Seketeli Applied to the master branch. --- src/abg-dwarf-reader.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc index 5523d229..e18f111b 100644 --- a/src/abg-dwarf-reader.cc +++ b/src/abg-dwarf-reader.cc @@ -7136,6 +7136,8 @@ die_peel_qual_ptr(Dwarf_Die *die, Dwarf_Die& peeled_die) else return false; + memcpy(&peeled_die, die, sizeof(peeled_die)); + while (tag == DW_TAG_const_type || tag == DW_TAG_volatile_type || tag == DW_TAG_restrict_type @@ -7167,6 +7169,8 @@ die_peel_typedef(Dwarf_Die *die, Dwarf_Die& peeled_die) int tag = dwarf_tag(die); + memcpy(&peeled_die, die, sizeof(peeled_die)); + if (tag == DW_TAG_typedef) { if (!die_die_attribute(die, DW_AT_type, peeled_die))