[PATCH] abg-ir.cc: Fix peel_typedef_type(const type_base*).
Matthias Maennich
maennich@google.com
Thu Mar 19 12:50:30 GMT 2020
On Thu, Mar 19, 2020 at 11:13:14AM +0000, Android Kernel Team wrote:
>The various peel_*_type functions are supposed to return either an
>underlying type (when something can be "peeled") or the original
>type (when not).
>
>This overload of peel_typedef_type currently returns null if the type
>isn't a typedef. This patch corrects this.
>
>The bug hasn't bitten as all existing calls are protected by an
>is_typedef check. Note that the recursive calls within the function
>are to the other (const type_base_sptr&) overload.
>
> * src/abg-ir.cc (peel_typedef_type): In the const type_base*
> overload, return the original argument rather than null if the
> type isn't actually a typedef.
>
>Signed-off-by: Giuliano Procida <gprocida@google.com>
Reviewed-by: Matthias Maennich <maennich@google.com>
Cheers,
Matthias
>---
> src/abg-ir.cc | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>diff --git a/src/abg-ir.cc b/src/abg-ir.cc
>index 83602b8a..27d493cc 100644
>--- a/src/abg-ir.cc
>+++ b/src/abg-ir.cc
>@@ -5249,7 +5249,7 @@ peel_typedef_type(const type_base* type)
> {
> const typedef_decl* t = is_typedef(type);
> if (!t)
>- return t;
>+ return type;
>
> return peel_typedef_type(t->get_underlying_type()).get();
> }
>--
>2.25.1.481.gfbce0eb801-goog
>
>
More information about the Libabigail
mailing list