--- a/jdk/src/share/classes/java/net/MulticastSocket.java Tue Dec 01 08:55:15 2009 -0800
+++ b/jdk/src/share/classes/java/net/MulticastSocket.java Wed Dec 02 12:17:42 2009 +0000
@@ -289,6 +289,7 @@
throw new SocketException("Socket is closed");
}
+ checkAddress(mcastaddr, "joinGroup");
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkMulticast(mcastaddr);
@@ -323,6 +324,7 @@
throw new SocketException("Socket is closed");
}
+ checkAddress(mcastaddr, "leaveGroup");
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkMulticast(mcastaddr);
@@ -370,6 +372,7 @@
if (oldImpl)
throw new UnsupportedOperationException();
+ checkAddress(((InetSocketAddress)mcastaddr).getAddress(), "joinGroup");
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkMulticast(((InetSocketAddress)mcastaddr).getAddress());
@@ -416,6 +419,7 @@
if (oldImpl)
throw new UnsupportedOperationException();
+ checkAddress(((InetSocketAddress)mcastaddr).getAddress(), "leaveGroup");
SecurityManager security = System.getSecurityManager();
if (security != null) {
security.checkMulticast(((InetSocketAddress)mcastaddr).getAddress());
@@ -441,6 +445,7 @@
if (isClosed()) {
throw new SocketException("Socket is closed");
}
+ checkAddress(inf, "setInterface");
synchronized (infLock) {
getImpl().setOption(SocketOptions.IP_MULTICAST_IF, inf);
infAddress = inf;
@@ -632,6 +637,7 @@
throws IOException {
if (isClosed())
throw new SocketException("Socket is closed");
+ checkAddress(p.getAddress(), "send");
synchronized(ttlLock) {
synchronized(p) {
if (connectState == ST_NOT_CONNECTED) {