diff options
| author | 2012-08-28 08:18:28 +0200 | |
|---|---|---|
| committer | 2012-11-23 11:19:20 +0100 | |
| commit | 636c0ff499e01b3dfe90264fc26f3df5ca6346cf (patch) | |
| tree | 254622f1cb2e1fdee8e988248d352c73b210691b | |
| parent | 4299f63e54dceeaaa44a057ba03f0881834491ec (diff) | |
Make transactGetSockaddr locale safe
Explicitly use Locale.US transactGetSockaddr to avoid
unexpected results in some locales.
Change-Id: If8316e543e21e133dc0c821cc390a2b55fe6fcdf
| -rw-r--r-- | core/java/android/os/CommonTimeUtils.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/core/java/android/os/CommonTimeUtils.java b/core/java/android/os/CommonTimeUtils.java index 9081ee411d61..20755d92d2d5 100644 --- a/core/java/android/os/CommonTimeUtils.java +++ b/core/java/android/os/CommonTimeUtils.java @@ -19,6 +19,7 @@ import java.net.InetAddress; import java.net.Inet4Address; import java.net.Inet6Address; import java.net.InetSocketAddress; +import java.util.Locale; import static libcore.io.OsConstants.*; class CommonTimeUtils { @@ -192,10 +193,11 @@ class CommonTimeUtils { if (AF_INET == type) { int addr = reply.readInt(); port = reply.readInt(); - addrStr = String.format("%d.%d.%d.%d", (addr >> 24) & 0xFF, - (addr >> 16) & 0xFF, - (addr >> 8) & 0xFF, - addr & 0xFF); + addrStr = String.format(Locale.US, "%d.%d.%d.%d", + (addr >> 24) & 0xFF, + (addr >> 16) & 0xFF, + (addr >> 8) & 0xFF, + addr & 0xFF); } else if (AF_INET6 == type) { int addr1 = reply.readInt(); int addr2 = reply.readInt(); @@ -207,11 +209,11 @@ class CommonTimeUtils { int flowinfo = reply.readInt(); int scope_id = reply.readInt(); - addrStr = String.format("[%04X:%04X:%04X:%04X:%04X:%04X:%04X:%04X]", - (addr1 >> 16) & 0xFFFF, addr1 & 0xFFFF, - (addr2 >> 16) & 0xFFFF, addr2 & 0xFFFF, - (addr3 >> 16) & 0xFFFF, addr3 & 0xFFFF, - (addr4 >> 16) & 0xFFFF, addr4 & 0xFFFF); + addrStr = String.format(Locale.US, "[%04X:%04X:%04X:%04X:%04X:%04X:%04X:%04X]", + (addr1 >> 16) & 0xFFFF, addr1 & 0xFFFF, + (addr2 >> 16) & 0xFFFF, addr2 & 0xFFFF, + (addr3 >> 16) & 0xFFFF, addr3 & 0xFFFF, + (addr4 >> 16) & 0xFFFF, addr4 & 0xFFFF); } if (null != addrStr) { |