Use an explicit locale when formatting OutOfSpaceException.

Implicitly using the default locale is a common source of bugs:
https://developer.android.com/reference/java/util/Locale.html#default_locale

PiperOrigin-RevId: 679381814
diff --git a/java/core/src/main/java/com/google/protobuf/CodedOutputStream.java b/java/core/src/main/java/com/google/protobuf/CodedOutputStream.java
index 22a4aa4..342fdd9 100644
--- a/java/core/src/main/java/com/google/protobuf/CodedOutputStream.java
+++ b/java/core/src/main/java/com/google/protobuf/CodedOutputStream.java
@@ -19,6 +19,7 @@
 import java.nio.BufferOverflowException;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
+import java.util.Locale;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -962,7 +963,7 @@
     }
 
     OutOfSpaceException(long position, long limit, int length, Throwable cause) {
-      this(String.format("Pos: %d, limit: %d, len: %d", position, limit, length), cause);
+      this(String.format(Locale.US, "Pos: %d, limit: %d, len: %d", position, limit, length), cause);
     }
   }
 
@@ -1168,8 +1169,11 @@
       if ((offset | length | (buffer.length - (offset + length))) < 0) {
         throw new IllegalArgumentException(
             String.format(
+                Locale.US,
                 "Array range is invalid. Buffer.length=%d, offset=%d, length=%d",
-                buffer.length, offset, length));
+                buffer.length,
+                offset,
+                length));
       }
       this.buffer = buffer;
       this.offset = offset;