diff --git a/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java b/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java index e34172e135..823acd523f 100644 --- a/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java +++ b/gson/src/main/java/com/google/gson/internal/bind/TypeAdapters.java @@ -574,7 +574,11 @@ public InetAddress read(JsonReader in) throws IOException { return null; } // regrettably, this should have included both the host name and the host address - return InetAddress.getByName(in.nextString()); + // For compatibility, we use InetAddress.getByName rather than the possibly-better + // .getAllByName + @SuppressWarnings("AddressSelection") + InetAddress addr = InetAddress.getByName(in.nextString()); + return addr; } @Override public void write(JsonWriter out, InetAddress value) throws IOException { diff --git a/gson/src/test/java/com/google/gson/DefaultInetAddressTypeAdapterTest.java b/gson/src/test/java/com/google/gson/DefaultInetAddressTypeAdapterTest.java index 3edee56a22..c57719af72 100644 --- a/gson/src/test/java/com/google/gson/DefaultInetAddressTypeAdapterTest.java +++ b/gson/src/test/java/com/google/gson/DefaultInetAddressTypeAdapterTest.java @@ -37,6 +37,7 @@ public void setUp() throws Exception { @Test public void testInetAddressSerializationAndDeserialization() throws Exception { + @SuppressWarnings("AddressSelection") // we really do want this method InetAddress address = InetAddress.getByName("8.8.8.8"); String jsonAddress = gson.toJson(address); assertThat(jsonAddress).isEqualTo("\"8.8.8.8\""); diff --git a/pom.xml b/pom.xml index da1e4fa606..02c0beb42d 100644 --- a/pom.xml +++ b/pom.xml @@ -169,7 +169,7 @@ com.google.errorprone error_prone_core - 2.20.0 + 2.21.1