lkml.org 
[lkml]   [2022]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 350/779] libbpf: fix an snprintf() overflow check
    Date
    From: Dan Carpenter <dan.carpenter@oracle.com>

    [ Upstream commit b77ffb30cfc5f58e957571d8541c6a7e3da19221 ]

    The snprintf() function returns the number of bytes it *would* have
    copied if there were enough space. So it can return > the
    sizeof(gen->attach_target).

    Fixes: 67234743736a ("libbpf: Generate loader program out of BPF ELF file.")
    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Acked-by: Martin KaFai Lau <kafai@fb.com>
    Link: https://lore.kernel.org/r/YtZ+oAySqIhFl6/J@kili
    Signed-off-by: Alexei Starovoitov <ast@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    tools/lib/bpf/gen_loader.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/tools/lib/bpf/gen_loader.c b/tools/lib/bpf/gen_loader.c
    index 33c19590ee43..4435c09fe132 100644
    --- a/tools/lib/bpf/gen_loader.c
    +++ b/tools/lib/bpf/gen_loader.c
    @@ -480,7 +480,7 @@ void bpf_gen__record_attach_target(struct bpf_gen *gen, const char *attach_name,
    gen->attach_kind = kind;
    ret = snprintf(gen->attach_target, sizeof(gen->attach_target), "%s%s",
    prefix, attach_name);
    - if (ret == sizeof(gen->attach_target))
    + if (ret >= sizeof(gen->attach_target))
    gen->error = -ENOSPC;
    }

    --
    2.35.1


    \
     
     \ /
      Last update: 2022-08-15 21:01    [W:4.126 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site