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

Acked-by: Song Liu <songliubrav...@fb.com>
Signed-off-by: Andrii Nakryiko <andr...@fb.com>
---
 tools/lib/bpf/libbpf.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index fe700ef1135d..e3c0144e454f 100644
--- a/tools/lib/bpf/libbpf.c
+++ b/tools/lib/bpf/libbpf.c
@@ -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;
-- 
2.17.1

Reply via email to