Fix NullPointerException in ConfigCommand.diffOptions()

`@Nullable FragmentOptionsForOutput options1` should be checked for being `null` before use. `bazel config` can otherwise crash, e.g. as the test configuration nowadays is trimmed.

Closes #13434.

PiperOrigin-RevId: 372635712
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/commands/ConfigCommand.java b/src/main/java/com/google/devtools/build/lib/runtime/commands/ConfigCommand.java
index 13ec25e..4e5528d 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/commands/ConfigCommand.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/commands/ConfigCommand.java
@@ -61,6 +61,7 @@
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -655,9 +656,13 @@
 
   private static Map<String, Pair<Object, Object>> diffOptions(
       @Nullable FragmentOptionsForOutput options1, @Nullable FragmentOptionsForOutput options2) {
+    Set<String> optionNames1 =
+        options1 == null ? Collections.<String>emptySet() : options1.optionNames();
+    Set<String> optionNames2 =
+        options2 == null ? Collections.<String>emptySet() : options2.optionNames();
     Map<String, Pair<Object, Object>> diffs = new HashMap<>();
 
-    for (String optionName : Sets.union(options1.optionNames(), options2.optionNames())) {
+    for (String optionName : Sets.union(optionNames1, optionNames2)) {
       String value1 = options1 == null ? null : options1.getOption(optionName);
       String value2 = options2 == null ? null : options2.getOption(optionName);