aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Marchevsky <davemarchevsky@fb.com>2023-10-16 10:30:38 -0400
committerGitHub <noreply@github.com>2023-10-16 10:30:38 -0400
commitb1bd28e785b4231aba99dd02a239102db56564af (patch)
tree9607ee76e64d1fc86965cfe5225925faf898a8ea
parent7d1ece0a6759c80590eaa30cd6c3a998c10b0ce3 (diff)
parent85c0e1eb567a2946fe2afecbbd651116be57526a (diff)
downloadbcc-b1bd28e785b4231aba99dd02a239102db56564af.tar.gz
Merge pull request #4742 from chantra/fix_vla_bound
sanitizer: Fix UndefinedBehaviorSanitizer: non-positive-vla-index
-rw-r--r--src/cc/api/BPF.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/cc/api/BPF.cc b/src/cc/api/BPF.cc
index ae0e7a68..9fda2d19 100644
--- a/src/cc/api/BPF.cc
+++ b/src/cc/api/BPF.cc
@@ -118,13 +118,14 @@ StatusTuple BPF::init(const std::string& bpf_program,
}
}
- auto flags_len = cflags.size();
- const char* flags[flags_len];
- for (size_t i = 0; i < flags_len; i++)
- flags[i] = cflags[i].c_str();
+ std::vector<const char*> flags;
+ for (const auto& c: cflags)
+ flags.push_back(c.c_str());
all_bpf_program_ += bpf_program;
- if (bpf_module_->load_string(all_bpf_program_, flags, flags_len) != 0) {
+ if (bpf_module_->load_string(all_bpf_program_,
+ flags.data(),
+ flags.size()) != 0) {
init_fail_reset();
return StatusTuple(-1, "Unable to initialize BPF program");
}