Blob Blame History Raw
From: Haowen Bai <baihaowen@meizu.com>
Date: Thu, 7 Apr 2022 10:38:17 +0800
Subject: libbpf: Potential NULL dereference in usdt_manager_attach_usdt()
Patch-mainline: v5.19-rc1
Git-commit: e58c5c9717460851047f63b8615ea0760a6f3a2e
References: jsc#PED-1377

link could be null but still dereference bpf_link__destroy(&link->link)
and it will lead to a null pointer access.

Signed-off-by: Haowen Bai <baihaowen@meizu.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/1649299098-2069-1-git-send-email-baihaowen@meizu.com
Acked-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
---
 tools/lib/bpf/usdt.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/tools/lib/bpf/usdt.c
+++ b/tools/lib/bpf/usdt.c
@@ -1071,8 +1071,8 @@ struct bpf_link *usdt_manager_attach_usd
 	return &link->link;
 
 err_out:
-	bpf_link__destroy(&link->link);
-
+	if (link)
+		bpf_link__destroy(&link->link);
 	free(targets);
 	hashmap__free(specs_hash);
 	if (elf)