diff options
author | Dave Marchevsky <davemarchevsky@fb.com> | 2023-10-16 10:30:38 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-16 10:30:38 -0400 |
commit | b1bd28e785b4231aba99dd02a239102db56564af (patch) | |
tree | 9607ee76e64d1fc86965cfe5225925faf898a8ea | |
parent | 7d1ece0a6759c80590eaa30cd6c3a998c10b0ce3 (diff) | |
parent | 85c0e1eb567a2946fe2afecbbd651116be57526a (diff) | |
download | bcc-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.cc | 11 |
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"); } |