From e05a3e5a491a8ef2079eef558bbe8e9feb0b3c03 Mon Sep 17 00:00:00 2001 From: Nick Alcock Date: Tue, 19 Jan 2021 12:45:18 +0000 Subject: libctf: lookup_by_name: do not return success for nonexistent pointer types The recent work allowing lookups of pointers in child dicts when the pointed-to type is in the parent dict broke the case where a pointer type that does not exist at all is looked up: we mistakenly return the pointed-to type, which is likely not a pointer at all. This causes considerable confusion. Fixed, with a new testcase. libctf/ChangeLog 2021-01-19 Nick Alcock * ctf-lookup.c (ctf_lookup_by_name_internal): Do not return the base type if looking up a nonexistent pointer type. * testsuite/libctf-regression/pptrtab*: Test it. --- libctf/testsuite/libctf-regression/pptrtab-b.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libctf/testsuite/libctf-regression/pptrtab-b.c') diff --git a/libctf/testsuite/libctf-regression/pptrtab-b.c b/libctf/testsuite/libctf-regression/pptrtab-b.c index 6142f19..e458021 100644 --- a/libctf/testsuite/libctf-regression/pptrtab-b.c +++ b/libctf/testsuite/libctf-regression/pptrtab-b.c @@ -1,4 +1,5 @@ typedef long a_t; +typedef long b_t; a_t b; - +b_t ignore1; -- cgit v1.1