[llvm] [NFC][Fuzzer] Fix zero-size array argv warning (PR #112944)
Björn Pettersson via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 21 07:30:08 PDT 2024
================
@@ -193,27 +193,27 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc,
// Create TargetMachine
//
-
+ std::string execName = *argv[0];
----------------
bjope wrote:
I suggest doing something like this instead:
```
diff --git a/llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp b/llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
index fcccf0e07ef8..8e8e73967e3c 100644
--- a/llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
+++ b/llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
@@ -175,6 +175,7 @@ static void handleLLVMFatalError(void *, const char *Message, bool) {
extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc,
char ***argv) {
EnableDebugBuffering = true;
+ StringRef ExecName = *argv[0];
// Make sure we print the summary and the current unit when LLVM errors out.
install_fatal_error_handler(handleLLVMFatalError, nullptr);
@@ -188,17 +189,17 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc,
// Parse input options
//
- handleExecNameEncodedOptimizerOpts(*argv[0]);
+ handleExecNameEncodedOptimizerOpts(ExecName);
parseFuzzerCLOpts(*argc, *argv);
// Create TargetMachine
//
if (TargetTripleStr.empty()) {
- errs() << *argv[0] << ": -mtriple must be specified\n";
+ errs() << ExecName << ": -mtriple must be specified\n";
exit(1);
}
- ExitOnError ExitOnErr(std::string(*argv[0]) + ": error:");
+ ExitOnError ExitOnErr(std::string(ExecName) + ": error:");
TM = ExitOnErr(codegen::createTargetMachineForTriple(
Triple::normalize(TargetTripleStr)));
@@ -206,14 +207,14 @@ extern "C" LLVM_ATTRIBUTE_USED int LLVMFuzzerInitialize(int *argc,
//
if (PassPipeline.empty()) {
- errs() << *argv[0] << ": at least one pass should be specified\n";
+ errs() << ExecName << ": at least one pass should be specified\n";
exit(1);
}
PassBuilder PB(TM.get());
ModulePassManager MPM;
if (auto Err = PB.parsePassPipeline(MPM, PassPipeline)) {
- errs() << *argv[0] << ": " << toString(std::move(Err)) << "\n";
+ errs() << ExecName << ": " << toString(std::move(Err)) << "\n";
exit(1);
}
```
https://github.com/llvm/llvm-project/pull/112944
More information about the llvm-commits
mailing list