]> git.proxmox.com Git - mirror_iproute2.git/commitdiff
bpf: initialize the verifier log
authorJakub Kicinski <jakub.kicinski@netronome.com>
Thu, 23 Nov 2017 01:00:53 +0000 (17:00 -0800)
committerStephen Hemminger <stephen@networkplumber.org>
Fri, 24 Nov 2017 04:47:38 +0000 (20:47 -0800)
If program loading fails before verifier prints its first
message, the verifier log will not be initialized.  Always
set the first character of the log buffer to zero to make
sure we don't dump non-printable characters to the terminal.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
lib/bpf.c

index 10ea23a471ef2341724d6b51ec95bc6c758e07fd..fdc28772fb71113d9d101fda07d3a7a67c93ef1b 100644 (file)
--- a/lib/bpf.c
+++ b/lib/bpf.c
@@ -1153,7 +1153,7 @@ static int bpf_log_realloc(struct bpf_elf_ctx *ctx)
 {
        const size_t log_max = UINT_MAX >> 8;
        size_t log_size = ctx->log_size;
-       void *ptr;
+       char *ptr;
 
        if (!ctx->log) {
                log_size = 65536;
@@ -1169,6 +1169,7 @@ static int bpf_log_realloc(struct bpf_elf_ctx *ctx)
        if (!ptr)
                return -ENOMEM;
 
+       ptr[0] = 0;
        ctx->log = ptr;
        ctx->log_size = log_size;