bpftool: Check for NULL ptr of btf in codegen_asserts
authorMichael Mullin <masmullin@gmail.com>
Mon, 23 May 2022 19:49:17 +0000 (15:49 -0400)
committerAndrii Nakryiko <andrii@kernel.org>
Thu, 2 Jun 2022 23:26:43 +0000 (16:26 -0700)
bpf_object__btf() can return a NULL value.  If bpf_object__btf returns
null, do not progress through codegen_asserts(). This avoids a null ptr
dereference at the call btf__type_cnt() in the function find_type_for_map()

Signed-off-by: Michael Mullin <masmullin@gmail.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20220523194917.igkgorco42537arb@jup
tools/bpf/bpftool/gen.c

index 4c9477f..f158dc1 100644 (file)
@@ -474,6 +474,9 @@ static void codegen_asserts(struct bpf_object *obj, const char *obj_name)
        const struct btf_type *sec;
        char map_ident[256], var_ident[256];
 
+       if (!btf)
+               return;
+
        codegen("\
                \n\
                __attribute__((unused)) static void                         \n\