diff --git a/jdk/src/share/classes/javax/management/monitor/CounterMonitor.java b/jdk/src/share/classes/javax/management/monitor/CounterMonitor.java index f2f9887b4cd..8105e6fa8aa 100644 --- a/jdk/src/share/classes/javax/management/monitor/CounterMonitor.java +++ b/jdk/src/share/classes/javax/management/monitor/CounterMonitor.java @@ -596,7 +596,7 @@ public class CounterMonitor extends Monitor implements CounterMonitorMBean { * types sent by the counter monitor. */ public MBeanNotificationInfo[] getNotificationInfo() { - return notifsInfo; + return notifsInfo.clone(); } /* diff --git a/jdk/src/share/classes/javax/management/monitor/GaugeMonitor.java b/jdk/src/share/classes/javax/management/monitor/GaugeMonitor.java index 5ce63fbe532..8fe8700464f 100644 --- a/jdk/src/share/classes/javax/management/monitor/GaugeMonitor.java +++ b/jdk/src/share/classes/javax/management/monitor/GaugeMonitor.java @@ -478,7 +478,7 @@ public class GaugeMonitor extends Monitor implements GaugeMonitorMBean { * types sent by the gauge monitor. */ public MBeanNotificationInfo[] getNotificationInfo() { - return notifsInfo; + return notifsInfo.clone(); } /* diff --git a/jdk/src/share/classes/javax/management/monitor/StringMonitor.java b/jdk/src/share/classes/javax/management/monitor/StringMonitor.java index 3c2bbc56410..9b4af52d41e 100644 --- a/jdk/src/share/classes/javax/management/monitor/StringMonitor.java +++ b/jdk/src/share/classes/javax/management/monitor/StringMonitor.java @@ -184,6 +184,7 @@ public class StringMonitor extends Monitor implements StringMonitorMBean { * @return The derived gauge of the specified object. * */ + @Override public synchronized String getDerivedGauge(ObjectName object) { return (String) super.getDerivedGauge(object); } @@ -199,6 +200,7 @@ public class StringMonitor extends Monitor implements StringMonitorMBean { * @return The derived gauge timestamp of the specified object. * */ + @Override public synchronized long getDerivedGaugeTimeStamp(ObjectName object) { return super.getDerivedGaugeTimeStamp(object); } @@ -341,8 +343,9 @@ public class StringMonitor extends Monitor implements StringMonitorMBean { * the Java class of the notification and the notification types sent by * the string monitor. */ + @Override public MBeanNotificationInfo[] getNotificationInfo() { - return notifsInfo; + return notifsInfo.clone(); } /* diff --git a/jdk/src/share/classes/sun/net/httpserver/Request.java b/jdk/src/share/classes/sun/net/httpserver/Request.java index bdafe663c1b..02d240c989c 100644 --- a/jdk/src/share/classes/sun/net/httpserver/Request.java +++ b/jdk/src/share/classes/sun/net/httpserver/Request.java @@ -52,6 +52,9 @@ class Request { os = rawout; do { startLine = readLine(); + if (startLine == null) { + return; + } /* skip blank lines */ } while (startLine.equals ("")); } diff --git a/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java b/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java index 104bdb0180b..919f7ce8ab6 100644 --- a/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java +++ b/jdk/src/share/classes/sun/net/httpserver/ServerImpl.java @@ -441,6 +441,7 @@ class ServerImpl implements TimeSource { rawin = sslStreams.getInputStream(); rawout = sslStreams.getOutputStream(); engine = sslStreams.getSSLEngine(); + connection.sslStreams = sslStreams; } else { rawin = new BufferedInputStream( new Request.ReadStream ( @@ -450,6 +451,8 @@ class ServerImpl implements TimeSource { ServerImpl.this, chan ); } + connection.raw = rawin; + connection.rawout = rawout; } Request req = new Request (rawin, rawout); requestLine = req.requestLine();