Commit 932ac54a authored by Daniel T. Lee's avatar Daniel T. Lee Committed by Alexei Starovoitov

libbf: Fix uninitialized pointer at btf__parse_raw()

Recently, from commit 94a1fedd ("libbpf: Add btf__parse_raw() and
generic btf__parse() APIs"), new API has been added to libbpf that
allows to parse BTF from raw data file (btf__parse_raw()).

The commit derives build failure of samples/bpf due to improper access
of uninitialized pointer at btf_parse_raw().

    btf.c: In function btf__parse_raw:
    btf.c:625:28: error: btf may be used uninitialized in this function
      625 |  return err ? ERR_PTR(err) : btf;
          |         ~~~~~~~~~~~~~~~~~~~^~~~~

This commit fixes the build failure of samples/bpf by adding code of
initializing btf pointer as NULL.

Fixes: 94a1fedd ("libbpf: Add btf__parse_raw() and generic btf__parse() APIs")
Signed-off-by: default avatarDaniel T. Lee <danieltimlee@gmail.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Acked-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20200805223359.32109-1-danieltimlee@gmail.com
parent 0ac10dc1
...@@ -564,8 +564,8 @@ struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext) ...@@ -564,8 +564,8 @@ struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext)
struct btf *btf__parse_raw(const char *path) struct btf *btf__parse_raw(const char *path)
{ {
struct btf *btf = NULL;
void *data = NULL; void *data = NULL;
struct btf *btf;
FILE *f = NULL; FILE *f = NULL;
__u16 magic; __u16 magic;
int err = 0; int err = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment