Skip to content

Commit fea17de

Browse files
committed
Explicit locale when formatting machine strings.
Bug: 9390451 Change-Id: I3581c53407554a1dffd541fb42b06d68f20a7be0
1 parent f38fd87 commit fea17de

13 files changed

Lines changed: 41 additions & 25 deletions

core/java/android/bluetooth/BluetoothAdapter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import java.util.HashSet;
3737
import java.util.HashMap;
3838
import java.util.LinkedList;
39+
import java.util.Locale;
3940
import java.util.Map;
4041
import java.util.Random;
4142
import java.util.Set;
@@ -433,7 +434,7 @@ public BluetoothDevice getRemoteDevice(byte[] address) {
433434
if (address == null || address.length != 6) {
434435
throw new IllegalArgumentException("Bluetooth address must have 6 bytes");
435436
}
436-
return new BluetoothDevice(String.format("%02X:%02X:%02X:%02X:%02X:%02X",
437+
return new BluetoothDevice(String.format(Locale.US, "%02X:%02X:%02X:%02X:%02X:%02X",
437438
address[0], address[1], address[2], address[3], address[4], address[5]));
438439
}
439440

core/java/android/bluetooth/BluetoothSocket.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import java.io.InputStream;
3232
import java.io.OutputStream;
3333
import java.util.List;
34+
import java.util.Locale;
3435
import java.util.UUID;
3536
import android.net.LocalSocket;
3637
import java.nio.ByteOrder;
@@ -473,7 +474,7 @@ public void close() throws IOException {
473474
return mPort;
474475
}
475476
private String convertAddr(final byte[] addr) {
476-
return String.format("%02X:%02X:%02X:%02X:%02X:%02X",
477+
return String.format(Locale.US, "%02X:%02X:%02X:%02X:%02X:%02X",
477478
addr[0] , addr[1], addr[2], addr[3] , addr[4], addr[5]);
478479
}
479480
private String waitSocketSignal(InputStream is) throws IOException {

core/java/android/net/NetworkUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import java.net.Inet6Address;
2222
import java.net.UnknownHostException;
2323
import java.util.Collection;
24+
import java.util.Locale;
2425

2526
import android.util.Log;
2627

@@ -223,7 +224,7 @@ public static boolean addressTypeMatches(InetAddress left, InetAddress right) {
223224
public static InetAddress hexToInet6Address(String addrHexString)
224225
throws IllegalArgumentException {
225226
try {
226-
return numericToInetAddress(String.format("%s:%s:%s:%s:%s:%s:%s:%s",
227+
return numericToInetAddress(String.format(Locale.US, "%s:%s:%s:%s:%s:%s:%s:%s",
227228
addrHexString.substring(0,4), addrHexString.substring(4,8),
228229
addrHexString.substring(8,12), addrHexString.substring(12,16),
229230
addrHexString.substring(16,20), addrHexString.substring(20,24),

core/java/android/net/VpnService.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
package android.net;
1818

1919
import android.app.Activity;
20-
import android.app.Service;
2120
import android.app.PendingIntent;
21+
import android.app.Service;
2222
import android.content.Context;
2323
import android.content.Intent;
2424
import android.os.Binder;
@@ -30,10 +30,10 @@
3030

3131
import com.android.internal.net.VpnConfig;
3232

33-
import java.net.InetAddress;
33+
import java.net.DatagramSocket;
3434
import java.net.Inet4Address;
3535
import java.net.Inet6Address;
36-
import java.net.DatagramSocket;
36+
import java.net.InetAddress;
3737
import java.net.Socket;
3838
import java.util.ArrayList;
3939

@@ -329,7 +329,8 @@ public Builder addAddress(InetAddress address, int prefixLength) {
329329
throw new IllegalArgumentException("Bad address");
330330
}
331331

332-
mAddresses.append(' ' + address.getHostAddress() + '/' + prefixLength);
332+
mAddresses.append(' ')
333+
.append(address.getHostAddress()).append('/').append(prefixLength);
333334
return this;
334335
}
335336

@@ -364,7 +365,7 @@ public Builder addRoute(InetAddress address, int prefixLength) {
364365
}
365366
}
366367

367-
mRoutes.append(String.format(" %s/%d", address.getHostAddress(), prefixLength));
368+
mRoutes.append(' ').append(address.getHostAddress()).append('/').append(prefixLength);
368369
return this;
369370
}
370371

services/java/com/android/server/WiredAccessoryManager.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
import java.io.FileNotFoundException;
4545
import java.util.ArrayList;
4646
import java.util.List;
47+
import java.util.Locale;
4748

4849
/**
4950
* <p>WiredAccessoryManager monitors for a wired headset on the main board or dock using
@@ -408,11 +409,11 @@ public UEventInfo(String devName, int state1Bits, int state2Bits) {
408409
public String getDevName() { return mDevName; }
409410

410411
public String getDevPath() {
411-
return String.format("/devices/virtual/switch/%s", mDevName);
412+
return String.format(Locale.US, "/devices/virtual/switch/%s", mDevName);
412413
}
413414

414415
public String getSwitchStatePath() {
415-
return String.format("/sys/class/switch/%s/state", mDevName);
416+
return String.format(Locale.US, "/sys/class/switch/%s/state", mDevName);
416417
}
417418

418419
public boolean checkSwitchExists() {

services/java/com/android/server/am/ActivityManagerService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3422,7 +3422,7 @@ final void logAppTooSlow(ProcessRecord app, long startTime, String msg) {
34223422
File lastTracesFile = null;
34233423
File curTracesFile = null;
34243424
for (int i=9; i>=0; i--) {
3425-
String name = String.format("slow%02d.txt", i);
3425+
String name = String.format(Locale.US, "slow%02d.txt", i);
34263426
curTracesFile = new File(tracesDir, name);
34273427
if (curTracesFile.exists()) {
34283428
if (lastTracesFile != null) {

services/java/com/android/server/usb/UsbDeviceManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
import java.util.HashMap;
5757
import java.util.LinkedList;
5858
import java.util.List;
59+
import java.util.Locale;
5960
import java.util.Map;
6061
import java.util.Scanner;
6162

@@ -240,7 +241,7 @@ private static void initRndisAddress() {
240241
for (int i = 0; i < serialLength; i++) {
241242
address[i % (ETH_ALEN - 1) + 1] ^= (int)serial.charAt(i);
242243
}
243-
String addrString = String.format("%02X:%02X:%02X:%02X:%02X:%02X",
244+
String addrString = String.format(Locale.US, "%02X:%02X:%02X:%02X:%02X:%02X",
244245
address[0], address[1], address[2], address[3], address[4], address[5]);
245246
try {
246247
FileUtils.stringToFile(RNDIS_ETH_ADDR_PATH, addrString);

wifi/java/android/net/wifi/WifiSsid.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import java.nio.charset.CharsetDecoder;
2828
import java.nio.charset.CoderResult;
2929
import java.nio.charset.CodingErrorAction;
30+
import java.util.Locale;
3031

3132
/**
3233
* Stores SSID octets and handles conversion.
@@ -199,7 +200,7 @@ public String getHexString() {
199200
String out = "0x";
200201
byte[] ssidbytes = getOctets();
201202
for (int i = 0; i < octets.size(); i++) {
202-
out += String.format("%02x", ssidbytes[i]);
203+
out += String.format(Locale.US, "%02x", ssidbytes[i]);
203204
}
204205
return out;
205206
}

wifi/java/android/net/wifi/p2p/WifiP2pWfdInfo.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import android.os.Parcelable;
2020
import android.os.Parcel;
2121

22+
import java.util.Locale;
23+
2224
/**
2325
* A class representing Wifi Display information for a device
2426
* @hide
@@ -135,7 +137,8 @@ public int getMaxThroughput() {
135137
}
136138

137139
public String getDeviceInfoHex() {
138-
return String.format("%04x%04x%04x%04x", 6, mDeviceInfo, mCtrlPort, mMaxThroughput);
140+
return String.format(
141+
Locale.US, "%04x%04x%04x%04x", 6, mDeviceInfo, mCtrlPort, mMaxThroughput);
139142
}
140143

141144
public String toString() {

wifi/java/android/net/wifi/p2p/nsd/WifiP2pDnsSdServiceInfo.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.ArrayList;
2323
import java.util.HashMap;
2424
import java.util.List;
25+
import java.util.Locale;
2526
import java.util.Map;
2627

2728
/**
@@ -126,7 +127,7 @@ private static String createPtrServiceQuery(String instanceName,
126127
sb.append(" ");
127128

128129
byte[] data = instanceName.getBytes();
129-
sb.append(String.format("%02x", data.length));
130+
sb.append(String.format(Locale.US, "%02x", data.length));
130131
sb.append(WifiP2pServiceInfo.bin2HexStr(data));
131132
// This is the start point of this response.
132133
// Therefore, it indicates the request domain name.
@@ -186,8 +187,8 @@ static String createRequest(String dnsName, int dnsType, int version) {
186187
dnsName = dnsName.toLowerCase();
187188
}
188189
sb.append(compressDnsName(dnsName));
189-
sb.append(String.format("%04x", dnsType));
190-
sb.append(String.format("%02x", version));
190+
sb.append(String.format(Locale.US, "%04x", dnsType));
191+
sb.append(String.format(Locale.US, "%02x", version));
191192

192193
return sb.toString();
193194
}
@@ -214,7 +215,7 @@ private static String compressDnsName(String dnsName) {
214215
int i = dnsName.indexOf('.');
215216
if (i == -1) {
216217
if (dnsName.length() > 0) {
217-
sb.append(String.format("%02x", dnsName.length()));
218+
sb.append(String.format(Locale.US, "%02x", dnsName.length()));
218219
sb.append(WifiP2pServiceInfo.bin2HexStr(dnsName.getBytes()));
219220
}
220221
// for a sequence of labels ending in a zero octet
@@ -224,7 +225,7 @@ private static String compressDnsName(String dnsName) {
224225

225226
String name = dnsName.substring(0, i);
226227
dnsName = dnsName.substring(i + 1);
227-
sb.append(String.format("%02x", name.length()));
228+
sb.append(String.format(Locale.US, "%02x", name.length()));
228229
sb.append(WifiP2pServiceInfo.bin2HexStr(name.getBytes()));
229230
}
230231
return sb.toString();

0 commit comments

Comments
 (0)