Commit c51829bb authored by Andrii Nakryiko's avatar Andrii Nakryiko Committed by Daniel Borkmann
Browse files

libbpf: check map name retrieved from ELF



Validate there was no error retrieving symbol name corresponding to
a BPF map.

Acked-by: default avatarSong Liu <songliubraving@fb.com>
Signed-off-by: default avatarAndrii Nakryiko <andriin@fb.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent 12ef5634
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -920,6 +920,11 @@ bpf_object__init_maps(struct bpf_object *obj, int flags)
		map_name = elf_strptr(obj->efile.elf,
				      obj->efile.strtabidx,
				      sym.st_name);
		if (!map_name) {
			pr_warning("failed to get map #%d name sym string for obj %s\n",
				   map_idx, obj->path);
			return -LIBBPF_ERRNO__FORMAT;
		}

		obj->maps[map_idx].libbpf_type = LIBBPF_MAP_UNSPEC;
		obj->maps[map_idx].offset = sym.st_value;