libbpf: Fix func leak in attach_kprobe
authorJiri Olsa <jolsa@redhat.com>
Wed, 21 Jul 2021 21:58:08 +0000 (23:58 +0200)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 23 Jul 2021 03:08:39 +0000 (20:08 -0700)
Add missing free() for func pointer in attach_kprobe function.

Fixes: a2488b5f483f ("libbpf: Allow specification of "kprobe/function+offset"")
Reported-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Reviewed-by: Alan Maguire <alan.maguire@oracle.com>
Tested-by: Alan Maguire <alan.maguire@oracle.com>
Link: https://lore.kernel.org/bpf/20210721215810.889975-2-jolsa@kernel.org
tools/lib/bpf/libbpf.c

index 4c153c3..d46c2dd 100644 (file)
@@ -10431,6 +10431,7 @@ static struct bpf_link *attach_kprobe(const struct bpf_sec_def *sec,
                return libbpf_err_ptr(err);
        }
        if (opts.retprobe && offset != 0) {
+               free(func);
                err = -EINVAL;
                pr_warn("kretprobes do not support offset specification\n");
                return libbpf_err_ptr(err);