In the elf_sec_data() function, the input parameter 'scn' will be evaluated. If it is NULL, then it will directly return NULL. Therefore, the return value of the elf_sec_data() function already takes into account the case where the input parameter scn is NULL. Therefore, subsequently, the code only needs to check whether the return value of the elf_sec_data() function is NULL. Signed-off-by: Jianyun Gao --- tools/lib/bpf/libbpf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index b90574f39d1c..9e66104a61eb 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -2988,15 +2988,15 @@ static int bpf_object__init_user_btf_maps(struct bpf_object *obj, bool strict, int nr_types, i, vlen, err; const struct btf_type *t; const char *name; - Elf_Data *data; + Elf_Data *scn_data; Elf_Scn *scn; if (obj->efile.btf_maps_shndx < 0) return 0; scn = elf_sec_by_idx(obj, obj->efile.btf_maps_shndx); - data = elf_sec_data(obj, scn); - if (!scn || !data) { + scn_data = elf_sec_data(obj, scn); + if (!scn_data) { pr_warn("elf: failed to get %s map definitions for %s\n", MAPS_ELF_SEC, obj->path); return -EINVAL; -- 2.34.1