libbpf: Fix uninitialized warning in btf_dump_dump_type_data
authorDavid Michael <fedora.dm0@gmail.com>
Sun, 13 Nov 2022 20:52:17 +0000 (15:52 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:14:09 +0000 (13:14 +0100)
[ Upstream commit dfd0afbf151d85411b371e841f62b81ee5d1ca54 ]

GCC 11.3.0 fails to compile btf_dump.c due to the following error,
which seems to originate in btf_dump_struct_data where the returned
value would be uninitialized if btf_vlen returns zero.

btf_dump.c: In function ‘btf_dump_dump_type_data’:
btf_dump.c:2363:12: error: ‘err’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
 2363 |         if (err < 0)
      |            ^

Fixes: 920d16af9b42 ("libbpf: BTF dumper support for typed data")
Signed-off-by: David Michael <fedora.dm0@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Stanislav Fomichev <sdf@google.com>
Acked-by: Alan Maguire <alan.maguire@oracle.com>
Link: https://lore.kernel.org/bpf/87zgcu60hq.fsf@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/lib/bpf/btf_dump.c

index 9bcd75d..f620911 100644 (file)
@@ -1915,7 +1915,7 @@ static int btf_dump_struct_data(struct btf_dump *d,
 {
        const struct btf_member *m = btf_members(t);
        __u16 n = btf_vlen(t);
-       int i, err;
+       int i, err = 0;
 
        /* note that we increment depth before calling btf_dump_print() below;
         * this is intentional.  btf_dump_data_newline() will not print a