Prevent starlark alias logic crashing with mangled args

PiperOrigin-RevId: 340711154
diff --git a/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java b/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
index 4bf0c29..2fd462d 100644
--- a/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
+++ b/src/main/java/com/google/devtools/common/options/OptionsParserImpl.java
@@ -674,10 +674,10 @@
    * </pre>
    *
    * This method returns immediately when aliasFlag is not set via the builder, which is an implicit
-   * disabling of the aliaising functionality.
+   * disabling of the aliasing functionality.
    */
   private String swapShorthandAlias(String arg) {
-    if (aliasFlag == null) {
+    if (aliasFlag == null || !arg.startsWith("--")) {
       return arg;
     }
 
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/FlagAliasTest.java b/src/test/java/com/google/devtools/build/lib/runtime/FlagAliasTest.java
index 11f024c..3ff89c6 100644
--- a/src/test/java/com/google/devtools/build/lib/runtime/FlagAliasTest.java
+++ b/src/test/java/com/google/devtools/build/lib/runtime/FlagAliasTest.java
@@ -183,6 +183,15 @@
     assertThat(parser.getResidue()).isEqualTo(expectedResidue);
   }
 
+  // Regression test for b/172453517
+  @Test
+  public void aliasLogicSkipsNonDoubleDashArgs() {
+    ImmutableList<String> args = ImmutableList.of("c0", "--rc_source=/somewhere/.blazerc", "-=");
+    optionHandler.parseOptions(args, eventHandler);
+    assertThat(eventHandler.getEvents())
+        .contains(Event.error("-= :: Unrecognized option: -=").withTag(BAD_OPTION_TAG));
+  }
+
   @Test
   public void setAliasOnCommandLine_useInRcFile() {
     ImmutableList<String> args =