bpftool: Fix a wrong type cast in btf_dumper_int
authorLam Thai <lamthai@arista.com>
Wed, 24 Aug 2022 22:59:00 +0000 (15:59 -0700)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 25 Aug 2022 18:43:08 +0000 (11:43 -0700)
When `data` points to a boolean value, casting it to `int *` is problematic
and could lead to a wrong value being passed to `jsonw_bool`. Change the
cast to `bool *` instead.

Fixes: b12d6ec09730 ("bpf: btf: add btf print functionality")
Signed-off-by: Lam Thai <lamthai@arista.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Quentin Monnet <quentin@isovalent.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20220824225859.9038-1-lamthai@arista.com
tools/bpf/bpftool/btf_dumper.c

index 125798b..19924b6 100644 (file)
@@ -452,7 +452,7 @@ static int btf_dumper_int(const struct btf_type *t, __u8 bit_offset,
                                             *(char *)data);
                break;
        case BTF_INT_BOOL:
-               jsonw_bool(jw, *(int *)data);
+               jsonw_bool(jw, *(bool *)data);
                break;
        default:
                /* shouldn't happen */