diff --git a/service-t/src/com/android/server/connectivity/mdns/MdnsSocket.java b/service-t/src/com/android/server/connectivity/mdns/MdnsSocket.java index d690032f16..c51811b310 100644 --- a/service-t/src/com/android/server/connectivity/mdns/MdnsSocket.java +++ b/service-t/src/com/android/server/connectivity/mdns/MdnsSocket.java @@ -128,9 +128,13 @@ public class MdnsSocket { * cannot be determined, returns -1. */ public int getInterfaceIndex() { + if (multicastSocket.isClosed()) { + sharedLog.e("Socket is closed"); + return -1; + } try { return multicastSocket.getNetworkInterface().getIndex(); - } catch (SocketException e) { + } catch (SocketException | NullPointerException e) { sharedLog.e("Failed to retrieve interface index for socket.", e); return -1; }