Re: [PATCH] bpftool: Fix incorrect format specifier for var

From: Andrii Nakryiko
Date: Mon Nov 11 2024 - 23:08:55 EST


On Sun, Nov 10, 2024 at 6:48 PM Luo Yifan <luoyifan@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> In cases where the SIGNED condition is met, the variable var is still
> used as an unsigned long long. Therefore, the %llu format specifier
> should be used to avoid incorrect data print. This patch fixes it.
>
> Signed-off-by: Luo Yifan <luoyifan@xxxxxxxxxxxxxxxxxxxx>
> ---
> tools/bpf/bpftool/btf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/bpf/bpftool/btf.c b/tools/bpf/bpftool/btf.c
> index 7d2af1ff3..ff58ff85e 100644
> --- a/tools/bpf/bpftool/btf.c
> +++ b/tools/bpf/bpftool/btf.c
> @@ -283,7 +283,7 @@ static int dump_btf_type(const struct btf *btf, __u32 id,
> jsonw_end_object(w);
> } else {
> if (btf_kflag(t))
> - printf("\n\t'%s' val=%lldLL", name,
> + printf("\n\t'%s' val=%lluLL", name,
> (unsigned long long)val);

the fix should be casting to (long long) instead

pw-bot: cr

> else
> printf("\n\t'%s' val=%lluULL", name,
> --
> 2.27.0
>
>
>