diff --git a/managed_vms/datastore/src/main/java/com/example/managedvms/datastore/DatastoreServlet.java b/managed_vms/datastore/src/main/java/com/example/managedvms/datastore/DatastoreServlet.java index f726af444d5..363c2263c48 100644 --- a/managed_vms/datastore/src/main/java/com/example/managedvms/datastore/DatastoreServlet.java +++ b/managed_vms/datastore/src/main/java/com/example/managedvms/datastore/DatastoreServlet.java @@ -51,9 +51,11 @@ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOExc String userIp = req.getRemoteAddr(); InetAddress address = InetAddress.getByName(userIp); if (address instanceof Inet6Address) { - userIp = userIp.substring(0, userIp.indexOf(":", 2)) + ":*:*:*:*:*:*"; + // nest indexOf calls to find the second occurrence of a character in a string + // an alternative is to use Apache Commons Lang: StringUtils.ordinalIndexOf() + userIp = userIp.substring(0, userIp.indexOf(":", userIp.indexOf(":") + 1)) + ":*:*:*:*:*:*"; } else if (address instanceof Inet4Address) { - userIp = userIp.substring(0, userIp.indexOf(".", 2)) + ".*.*"; + userIp = userIp.substring(0, userIp.indexOf(".", userIp.indexOf(".") + 1)) + ".*.*"; } Datastore datastore = DatastoreOptions.defaultInstance().service();