[llvm-branch-commits] [llvm-size] Early return with error on invalid args (PR #128447)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sun Feb 23 17:07:49 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-binary-utilities

Author: Vitaly Buka (vitalybuka)

<details>
<summary>Changes</summary>

This is very uncommon to recover from such errors.
It's especially bad or Radix, which affect format
specifiers.


---
Full diff: https://github.com/llvm/llvm-project/pull/128447.diff


1 Files Affected:

- (modified) llvm/tools/llvm-size/llvm-size.cpp (+6-2) 


``````````diff
diff --git a/llvm/tools/llvm-size/llvm-size.cpp b/llvm/tools/llvm-size/llvm-size.cpp
index 0d7bf24832670..045237f161322 100644
--- a/llvm/tools/llvm-size/llvm-size.cpp
+++ b/llvm/tools/llvm-size/llvm-size.cpp
@@ -899,8 +899,10 @@ int llvm_size_main(int argc, char **argv, const llvm::ToolContext &) {
     OutputFormat = darwin;
   else if (V == "sysv")
     OutputFormat = sysv;
-  else
+  else {
     error("--format value should be one of: 'berkeley', 'darwin', 'sysv'");
+    return 1;
+  }
   V = Args.getLastArgValue(OPT_radix_EQ, "10");
   if (V == "8")
     Radix = RadixTy::octal;
@@ -908,8 +910,10 @@ int llvm_size_main(int argc, char **argv, const llvm::ToolContext &) {
     Radix = RadixTy::decimal;
   else if (V == "16")
     Radix = RadixTy::hexadecimal;
-  else
+  else {
     error("--radix value should be one of: 8, 10, 16 ");
+    return 1;
+  }
 
   for (const auto *A : Args.filtered(OPT_arch_EQ)) {
     SmallVector<StringRef, 2> Values;

``````````

</details>


https://github.com/llvm/llvm-project/pull/128447


More information about the llvm-branch-commits mailing list