diff options
author | Mauricio Vásquez <mauricio@kinvolk.io> | 2022-01-07 10:26:19 -0500 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2022-01-12 17:01:36 -0800 |
commit | fba60b171a0322830b446dd28170092c47243d39 (patch) | |
tree | 02b727a151b345636d95b4c39a83947cd9d123db /tools/lib/bpf/hashmap.c | |
parent | fe8152b38d3a994c4c6fdbc0cd6551d569a5715a (diff) |
libbpf: Use IS_ERR_OR_NULL() in hashmap__free()
hashmap__new() uses ERR_PTR() to return an error so it's better to
use IS_ERR_OR_NULL() in order to check the pointer before calling
free(). This will prevent freeing an invalid pointer if somebody calls
hashmap__free() with the result of a failed hashmap__new() call.
Signed-off-by: Mauricio Vásquez <mauricio@kinvolk.io>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Song Liu <songliubraving@fb.com>
Link: https://lore.kernel.org/bpf/20220107152620.192327-1-mauricio@kinvolk.io
Diffstat (limited to 'tools/lib/bpf/hashmap.c')
-rw-r--r-- | tools/lib/bpf/hashmap.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/tools/lib/bpf/hashmap.c b/tools/lib/bpf/hashmap.c index 3c20b126d60d..aeb09c288716 100644 --- a/tools/lib/bpf/hashmap.c +++ b/tools/lib/bpf/hashmap.c @@ -75,7 +75,7 @@ void hashmap__clear(struct hashmap *map) void hashmap__free(struct hashmap *map) { - if (!map) + if (IS_ERR_OR_NULL(map)) return; hashmap__clear(map); @@ -238,4 +238,3 @@ bool hashmap__delete(struct hashmap *map, const void *key, return true; } - |