changeset 1054:9e44a6fa9127 icedtea-3.0.0pre06

Merge jdk8u60-b24
author andrew
date Wed, 30 Sep 2015 16:42:49 +0100
parents 3fc5ba7c6bef (current diff) b0779099d006 (diff)
children 7418bb690047
files .hgtags
diffstat 6 files changed, 269 insertions(+), 106 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Sep 18 04:09:04 2015 +0100
+++ b/.hgtags	Wed Sep 30 16:42:49 2015 +0100
@@ -317,6 +317,8 @@
 34c930eaa6b591621afde05ca2e24571c91cdc9b jdk8u20-b24
 34c930eaa6b591621afde05ca2e24571c91cdc9b jdk8u20-b25
 37bde23c96f66912c44b1b893c08d4ad4cff5f4e jdk8u20-b26
+83bebea0c36c6ee9e663b41f9103ddcf1216ef55 jdk8u20-b31
+117f50127c27826dbe4c9e6fe1916aeab4bceef9 jdk8u20-b32
 08aa9f55fe5bce1f04cfd2958f71e8df18643e29 jdk8u25-b00
 31f50e3c0dcbdfa7f11a895179065e6888c2cf3c jdk8u25-b01
 162703b7c2f16ce00d1b54a8f95d12eda9753eba jdk8u25-b02
@@ -336,6 +338,26 @@
 28d7f90e04e46ce8c633a2fbf0157d9e77db17c3 jdk8u25-b16
 f46df0af2ca8c7d896de375c8edac8ce09318318 jdk8u25-b17
 ee069d67c12df902cdb06ecf1747f8ff9d495a61 jdk8u25-b18
+8d0faa0eac61c04c6a5bbff2e084c9da0bd5251c jdk8u25-b31
+6617e1de7aa536d2e3671e3c50c340262b2b053e jdk8u25-b32
+c123ac2adfdc6049034d5970bec89b51ce5d8889 jdk8u25-b33
+69793b08060c9d216fa84d679c48b9e22d2400ac jdk8u31-b00
+fd5f8e3713803ca2d7898407a53996f3aa41521e jdk8u31-b01
+b6e2d1b1b24585bd02512e360d842d4713afa644 jdk8u31-b02
+1a7cc737d8081ffef73d88e94995f80d6a3dc8e0 jdk8u31-b03
+f24241b85fc90618d243f54202904ee202c44b7e jdk8u31-b04
+a3b616778301fe101bf3dcfa145d3bb4e8fc8941 jdk8u31-b05
+3de6161377bf492953260c7bf756f3ec0c6e6d60 jdk8u31-b06
+3d42c53301dd951992a32613173dd6fbb13a28a8 jdk8u31-b07
+b47677f7c1d122a2d05e03dec70de86feaedcd4c jdk8u31-b08
+95163f85c9e961c5bf37ceac645a0e7de505ca3e jdk8u31-b09
+474bf60980443dfae2fe6e121fef0caea4e014b3 jdk8u31-b10
+7e2056eba0b62247407e065f3f88a89358fc26a6 jdk8u31-b11
+285b0e589c50e46ca7ad3434221335901a547d66 jdk8u31-b12
+f89b454638d89ee5f44422b7a5b8e5651260e68f jdk8u31-b13
+705d3a4298f44f0a14925bfee5017f5824b6c0ca jdk8u31-b31
+072d325a052a5894019b74118803bf5fb9e30692 jdk8u31-b32
+bfd820cde577ba687222196e6c5159d9763df887 jdk8u31-b33
 7d1e0f0b63f1d66c77924d8b2a1accdf8f7480db jdk8u40-b00
 c5d9822a3c18cd9e274dfe99e91c33e02bd8f8f4 jdk8u40-b01
 504b4455570e14b7fc0a837a09c6401c603516d9 jdk8u40-b02
@@ -360,3 +382,71 @@
 6c974fba96cb81fd91bf85f434531dbd122fa3a0 icedtea-3.0.0pre03
 b493e7b682c969ef1b68c56c3512317df87a1f28 icedtea-3.0.0pre04
 a5ec6d805e3864d5d754dd47bdae5d001e812a73 icedtea-3.0.0pre05
+9c54cc92c0beb29179abbce272d3f5c8ba4ffd0e jdk8u40-b21
+4c7421f74674ebefb8e91eba59ab2a2db8c1abd7 jdk8u40-b22
+62f7faef5ed956cd481cae6216b22fdb4b6e3e46 jdk8u40-b23
+472aa5bae0e78614e873d56bcc31e7caba49963c jdk8u40-b24
+2220744100b8487976debff79e5d0c7d70738bda jdk8u40-b25
+cab2b99c6bb2e15165a58eaa36157788f82592f1 jdk8u40-b26
+bd0186cd2419129357b110fe3f13519f68b29774 jdk8u40-b27
+28a1dbd4bb9ec97427790c88d21514af2f878c94 jdk8u40-b31
+663a3151c688bc3f4c092bcad21cc81e29139d62 jdk8u40-b32
+5761efbc739fdedcbff224e22f920e88b29af4cf jdk8u45-b00
+6a52852476c9ccb2d52153d1b94b675e863bb28c jdk8u45-b01
+3b9d342f9f584465ea5976e06357b45682f9681d jdk8u45-b02
+d3678799ed35f162928f387308d72f5401b37e84 jdk8u45-b03
+9dd8c8e1b0facfcf21657c91fc99bcb5319d1196 jdk8u45-b04
+b82ecb056ae3fd6ee06e765995c564b17a761221 jdk8u45-b05
+f538a9334f09535ef8fe13072f6a4a52e3187e1c jdk8u45-b06
+4dec7b828f1ee3adbf3c2b6430400db8b1abb5ad jdk8u45-b07
+16cb989c8b6220330a54fe78ae27b2f50fc5e794 jdk8u45-b08
+ace36a054b7faadb702d6f23e569efb77f0a7513 jdk8u45-b09
+b9ef43c59b425961526b04e92d7fa66014ec25eb jdk8u45-b10
+08c2ce4b6d59bc6b29e61fd8562b9e3d39b257a5 jdk8u45-b11
+c9bf2543c0c045ef31f0296bc355381e1a4bd4ac jdk8u45-b12
+326f02235e7a9a6da78428410320dcc980827d40 jdk8u45-b13
+50fb9bed64c9366b7bf68bddcdc553cd7295d905 jdk8u45-b14
+4afc048fe6ff7fc3fdbdadd8027549805c426d0d jdk8u45-b15
+e67045c893eaf5e3336c4fd849786fa15b81b601 jdk8u45-b31
+f2aeb52cb7cef1f984661a583baac67402f633a5 jdk8u45-b32
+72d116eea419824044f8dd4ae9d3a012946f72a4 jdk8u51-b00
+b9638b9fe23876fd2413f336ee1d4e05d409e6a9 jdk8u51-b01
+bc5562ed3c2d69ffbff357e96d9e383479042000 jdk8u51-b02
+75c09ffd6c62f90153e4b043e0b40db4fa03954d jdk8u51-b03
+66908961baaec267141b1e80d04feed0c93f68fe jdk8u51-b04
+1c0a26d561f3a6b2d5a4c91161d7c92409d5f227 jdk8u51-b05
+dba5c9ee56abce73e1f6ed99a36a99d6907266c6 jdk8u51-b06
+00d57e68b59879ee59352ae18c7e40216d9e2243 jdk8u51-b07
+47492841bb10e6c995c68be533d2b4905856a17e jdk8u51-b08
+b9e5fa1d3f251d5cce02d1e7ff97279064aecdb1 jdk8u51-b09
+0011162b38bf4dab36c72bf25640c59d7128274a jdk8u51-b10
+4d59046bdb8a05cfb9e07d8e18d44956f700fe29 jdk8u51-b11
+e51a2deadf774452d98b339d65d33c72a466a453 jdk8u51-b12
+4886143e8749caf2ec42a6e77c70a98516e140a3 jdk8u51-b13
+1fbfa02e524872a75e98ee3a80e2472fa7012fde jdk8u51-b14
+d6e1f914c954f98caa31edd0037837830774dfb6 jdk8u51-b15
+3b9b39af6c36216418b78c449dd3af17b865a952 jdk8u51-b16
+8bbc2bb414b7e9331c2014c230553d72c9d161c5 jdk8u60-b00
+15ae8298b34beb30f2bd7baa7ff895af2bec13f6 jdk8u60-b01
+a98524c04cbd24bbc3029b21c033abf9108e92b4 jdk8u60-b02
+50cef81aa68539d0af7c5c48e370108a5b0d5a4f jdk8u60-b03
+d0e7c0ba4671c6a20ba5885e075ffa7196b738a1 jdk8u60-b04
+983825f6835055c24ed7580b6d4bd2f4e17e5425 jdk8u60-b05
+587b011966468537b1ff40a007aa51e52c823bc8 jdk8u60-b06
+058a6dd8d04cbb3d3bcc0b9d60dd05111fb37b22 jdk8u60-b07
+b184ceca742eb1a6469442af91f918ac1e1cf95c jdk8u60-b08
+e8af97f98cad81672e713c1af68d9059792a4ef2 jdk8u60-b09
+bd691208dfd6c97ffd10e2314f457d7badc47dab jdk8u60-b10
+43892f96d79eea91e67c193141f76ec31eb351d8 jdk8u60-b11
+449f9a900771900310a3f49e034c4cca478c6aff jdk8u60-b12
+b4e22b44d44664a3aa4fc2737cd63115328084b1 jdk8u60-b13
+c4108e15fbde9c67f5085aa60cd9f03e69d245dd jdk8u60-b14
+68b50073c52a2c77aa35f90d6cfdec966effc4ef jdk8u60-b15
+3b19c17ea11c3831a8a0099d6d7a1a3c7e4897c4 jdk8u60-b16
+7ef66778231f234b69515202b2dc2287143ecb49 jdk8u60-b17
+cf83b578af1935db8474d01b8642e4803a534d3a jdk8u60-b18
+eb0caffe34c6bea2ff40966757142b3dcd3a2a4c jdk8u60-b19
+4f3a29adbf4cfa2127e1108d82aaaa0d29f3c583 jdk8u60-b20
+d68de92de3bad991546b11d77de6e9c17edf7ec2 jdk8u60-b21
+3a04901d83880634ecd70c8be992189228ccd746 jdk8u60-b22
+0828bb6521738ad5a7fe11f0aa3495465f002848 jdk8u60-b23
--- a/THIRD_PARTY_README	Fri Sep 18 04:09:04 2015 +0100
+++ b/THIRD_PARTY_README	Wed Sep 30 16:42:49 2015 +0100
@@ -1140,37 +1140,6 @@
 
 --------------------------------------------------------------------------------
 
-%% This notice is provided with respect to JSON, which may be included 
-with JRE 8 & JDK 8.
-
---- begin of LICENSE ---
-
-Copyright (c) 2002 JSON.org
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-The Software shall be used for Good, not Evil.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-
---- end of LICENSE ---
-
--------------------------------------------------------------------------------
-
 %% This notice is provided with respect to Kerberos functionality, which 
 which may be included with JRE 8, JDK 8, and OpenJDK 8.
 
@@ -1250,7 +1219,7 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to libpng 1.5.4, which may be 
+%% This notice is provided with respect to libpng 1.6.16, which may be 
 included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
@@ -1266,8 +1235,8 @@
 
 This code is released under the libpng license.
 
-libpng versions 1.2.6, August 15, 2004, through 1.5.4, July 7, 2011, are
-Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
+libpng versions 1.2.6, August 15, 2004, through 1.6.16, December 22, 2014, are
+Copyright (c) 2004, 2006-2014 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
 
@@ -1364,13 +1333,13 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-July 7, 2011
+December 22, 2014
 
 --- end of LICENSE ---
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to libungif 4.1.3, which may be 
+%% This notice is provided with respect to GIFLIB 5.1.1 & libungif 4.1.3, which may be 
 included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
@@ -1399,13 +1368,13 @@
 
 -------------------------------------------------------------------------------
 
-%% This notice is provided with respect to Little CMS 2.5, which may be 
+%% This notice is provided with respect to Little CMS 2.7, which may be 
 included with JRE 8, JDK 8, and OpenJDK 8.
 
 --- begin of LICENSE ---
 
 Little CMS
-Copyright (c) 1998-2011 Marti Maria Saguer
+Copyright (c) 1998-2015 Marti Maria Saguer
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
--- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Fri Sep 18 04:09:04 2015 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Wed Sep 30 16:42:49 2015 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1768,43 +1768,59 @@
             switch (field.getTypeCode()) {
                 case 'B':
                     byte byteValue = orbStream.read_octet();
-                    bridge.putByte( o, field.getFieldID(), byteValue ) ;
-                    //reflective code: field.getField().setByte( o, byteValue ) ;
+                    if (field.getField() != null) {
+                        bridge.putByte( o, field.getFieldID(), byteValue ) ;
+                        //reflective code: field.getField().setByte( o, byteValue ) ;
+                    }
                     break;
                 case 'Z':
                     boolean booleanValue = orbStream.read_boolean();
-                    bridge.putBoolean( o, field.getFieldID(), booleanValue ) ;
-                    //reflective code: field.getField().setBoolean( o, booleanValue ) ;
+                    if (field.getField() != null) {
+                        bridge.putBoolean( o, field.getFieldID(), booleanValue ) ;
+                        //reflective code: field.getField().setBoolean( o, booleanValue ) ;
+                    }
                     break;
                 case 'C':
                     char charValue = orbStream.read_wchar();
-                    bridge.putChar( o, field.getFieldID(), charValue ) ;
-                    //reflective code: field.getField().setChar( o, charValue ) ;
+                    if (field.getField() != null) {
+                        bridge.putChar( o, field.getFieldID(), charValue ) ;
+                        //reflective code: field.getField().setChar( o, charValue ) ;
+                    }
                     break;
                 case 'S':
                     short shortValue = orbStream.read_short();
-                    bridge.putShort( o, field.getFieldID(), shortValue ) ;
-                    //reflective code: field.getField().setShort( o, shortValue ) ;
+                    if (field.getField() != null) {
+                        bridge.putShort( o, field.getFieldID(), shortValue ) ;
+                        //reflective code: field.getField().setShort( o, shortValue ) ;
+                    }
                     break;
                 case 'I':
                     int intValue = orbStream.read_long();
-                    bridge.putInt( o, field.getFieldID(), intValue ) ;
-                    //reflective code: field.getField().setInt( o, intValue ) ;
+                    if (field.getField() != null) {
+                        bridge.putInt( o, field.getFieldID(), intValue ) ;
+                        //reflective code: field.getField().setInt( o, intValue ) ;
+                    }
                     break;
                 case 'J':
                     long longValue = orbStream.read_longlong();
-                    bridge.putLong( o, field.getFieldID(), longValue ) ;
-                    //reflective code: field.getField().setLong( o, longValue ) ;
+                    if (field.getField() != null) {
+                        bridge.putLong( o, field.getFieldID(), longValue ) ;
+                        //reflective code: field.getField().setLong( o, longValue ) ;
+                    }
                     break;
                 case 'F' :
                     float floatValue = orbStream.read_float();
-                    bridge.putFloat( o, field.getFieldID(), floatValue ) ;
-                    //reflective code: field.getField().setFloat( o, floatValue ) ;
+                    if (field.getField() != null) {
+                        bridge.putFloat( o, field.getFieldID(), floatValue ) ;
+                        //reflective code: field.getField().setFloat( o, floatValue ) ;
+                    }
                     break;
                 case 'D' :
                     double doubleValue = orbStream.read_double();
-                    bridge.putDouble( o, field.getFieldID(), doubleValue ) ;
-                    //reflective code: field.getField().setDouble( o, doubleValue ) ;
+                    if (field.getField() != null) {
+                        bridge.putDouble( o, field.getFieldID(), doubleValue ) ;
+                        //reflective code: field.getField().setDouble( o, doubleValue ) ;
+                    }
                     break;
                 default:
                     // XXX I18N, logging needed.
@@ -2217,9 +2233,6 @@
 
         if (o != null) {
             for (int i = 0; i < primFields; ++i) {
-                if (fields[i].getField() == null)
-                    continue;
-
                 inputPrimitiveField(o, cl, fields[i]);
             }
         }
@@ -2417,8 +2430,8 @@
     private void throwAwayData(ValueMember[] fields,
                                com.sun.org.omg.SendingContext.CodeBase sender)
         throws InvalidClassException, StreamCorruptedException,
-               ClassNotFoundException, IOException
-    {
+               ClassNotFoundException, IOException {
+
         for (int i = 0; i < fields.length; ++i) {
 
             try {
@@ -2553,8 +2566,7 @@
 
     }
 
-    private static void setObjectField(Object o, Class c, String fieldName, Object v)
-    {
+    private static void setObjectField(Object o, Class c, String fieldName, Object v) {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
             Class fieldCl = fld.getType();
@@ -2564,9 +2576,15 @@
             long key = bridge.objectFieldOffset( fld ) ;
             bridge.putObject( o, key, v ) ;
         } catch (Exception e) {
-            throw utilWrapper.errorSetObjectField( e, fieldName,
-                o.toString(),
-                v.toString() ) ;
+            if (o != null) {
+                throw utilWrapper.errorSetObjectField( e, fieldName,
+                    o.toString(),
+                    v.toString() ) ;
+            } else {
+                throw utilWrapper.errorSetObjectField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    v.toString() ) ;
+            }
         }
     }
 
@@ -2574,12 +2592,22 @@
     {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
-            long key = bridge.objectFieldOffset( fld ) ;
-            bridge.putBoolean( o, key, v ) ;
+            if ((fld != null) && (fld.getType() == Boolean.TYPE)) {
+                long key = bridge.objectFieldOffset( fld ) ;
+                bridge.putBoolean( o, key, v ) ;
+            } else {
+                throw new InvalidObjectException("Field Type mismatch");
+            }
         } catch (Exception e) {
+            if (o != null) {
             throw utilWrapper.errorSetBooleanField( e, fieldName,
                 o.toString(),
                 new Boolean(v) ) ;
+            } else {
+                throw utilWrapper.errorSetBooleanField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    new Boolean(v) ) ;
+            }
         }
     }
 
@@ -2587,12 +2615,22 @@
     {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
-            long key = bridge.objectFieldOffset( fld ) ;
-            bridge.putByte( o, key, v ) ;
+            if ((fld != null) && (fld.getType() == Byte.TYPE)) {
+                long key = bridge.objectFieldOffset( fld ) ;
+                bridge.putByte( o, key, v ) ;
+            } else {
+                throw new InvalidObjectException("Field Type mismatch");
+            }
         } catch (Exception e) {
-            throw utilWrapper.errorSetByteField( e, fieldName,
-                o.toString(),
-                new Byte(v) ) ;
+            if (o != null) {
+                throw utilWrapper.errorSetByteField( e, fieldName,
+                    o.toString(),
+                    new Byte(v) ) ;
+            } else {
+                throw utilWrapper.errorSetByteField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    new Byte(v) ) ;
+            }
         }
     }
 
@@ -2600,12 +2638,22 @@
     {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
-            long key = bridge.objectFieldOffset( fld ) ;
-            bridge.putChar( o, key, v ) ;
+            if ((fld != null) && (fld.getType() == Character.TYPE)) {
+                long key = bridge.objectFieldOffset( fld ) ;
+                bridge.putChar( o, key, v ) ;
+            } else {
+                throw new InvalidObjectException("Field Type mismatch");
+            }
         } catch (Exception e) {
-            throw utilWrapper.errorSetCharField( e, fieldName,
-                o.toString(),
-                new Character(v) ) ;
+            if (o != null) {
+                throw utilWrapper.errorSetCharField( e, fieldName,
+                    o.toString(),
+                    new Character(v) ) ;
+            } else {
+                throw utilWrapper.errorSetCharField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    new Character(v) ) ;
+            }
         }
     }
 
@@ -2613,12 +2661,22 @@
     {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
-            long key = bridge.objectFieldOffset( fld ) ;
-            bridge.putShort( o, key, v ) ;
+            if ((fld != null) && (fld.getType() == Short.TYPE)) {
+                long key = bridge.objectFieldOffset( fld ) ;
+                bridge.putShort( o, key, v ) ;
+            } else {
+                throw new InvalidObjectException("Field Type mismatch");
+            }
         } catch (Exception e) {
+            if (o != null) {
             throw utilWrapper.errorSetShortField( e, fieldName,
                 o.toString(),
                 new Short(v) ) ;
+            } else {
+                throw utilWrapper.errorSetShortField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    new Short(v) ) ;
+            }
         }
     }
 
@@ -2626,12 +2684,22 @@
     {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
-            long key = bridge.objectFieldOffset( fld ) ;
-            bridge.putInt( o, key, v ) ;
+            if ((fld != null) && (fld.getType() == Integer.TYPE)) {
+                long key = bridge.objectFieldOffset( fld ) ;
+                bridge.putInt( o, key, v ) ;
+            } else {
+                throw new InvalidObjectException("Field Type mismatch");
+            }
         } catch (Exception e) {
-            throw utilWrapper.errorSetIntField( e, fieldName,
-                o.toString(),
-                new Integer(v) ) ;
+            if (o != null) {
+                throw utilWrapper.errorSetIntField( e, fieldName,
+                    o.toString(),
+                    new Integer(v) ) ;
+            } else {
+                throw utilWrapper.errorSetIntField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    new Integer(v) ) ;
+            }
         }
     }
 
@@ -2639,12 +2707,22 @@
     {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
-            long key = bridge.objectFieldOffset( fld ) ;
-            bridge.putLong( o, key, v ) ;
+            if ((fld != null) && (fld.getType() == Long.TYPE)) {
+                long key = bridge.objectFieldOffset( fld ) ;
+                bridge.putLong( o, key, v ) ;
+            } else {
+                throw new InvalidObjectException("Field Type mismatch");
+            }
         } catch (Exception e) {
-            throw utilWrapper.errorSetLongField( e, fieldName,
-                o.toString(),
-                new Long(v) ) ;
+            if (o != null) {
+                throw utilWrapper.errorSetLongField( e, fieldName,
+                    o.toString(),
+                    new Long(v) ) ;
+            } else {
+                throw utilWrapper.errorSetLongField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    new Long(v) ) ;
+            }
         }
     }
 
@@ -2652,12 +2730,22 @@
     {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
-            long key = bridge.objectFieldOffset( fld ) ;
-            bridge.putFloat( o, key, v ) ;
+            if ((fld != null) && (fld.getType() == Float.TYPE)) {
+                long key = bridge.objectFieldOffset( fld ) ;
+                bridge.putFloat( o, key, v ) ;
+            } else {
+                throw new InvalidObjectException("Field Type mismatch");
+            }
         } catch (Exception e) {
-            throw utilWrapper.errorSetFloatField( e, fieldName,
-                o.toString(),
-                new Float(v) ) ;
+            if (o != null) {
+                throw utilWrapper.errorSetFloatField( e, fieldName,
+                    o.toString(),
+                    new Float(v) ) ;
+            } else {
+                throw utilWrapper.errorSetFloatField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    new Float(v) ) ;
+            }
         }
     }
 
@@ -2665,12 +2753,22 @@
     {
         try {
             Field fld = c.getDeclaredField( fieldName ) ;
-            long key = bridge.objectFieldOffset( fld ) ;
-            bridge.putDouble( o, key, v ) ;
+            if ((fld != null) && (fld.getType() == Double.TYPE)) {
+                long key = bridge.objectFieldOffset( fld ) ;
+                bridge.putDouble( o, key, v ) ;
+            } else {
+                throw new InvalidObjectException("Field Type mismatch");
+            }
         } catch (Exception e) {
-            throw utilWrapper.errorSetDoubleField( e, fieldName,
-                o.toString(),
-                new Double(v) ) ;
+            if (o != null) {
+                throw utilWrapper.errorSetDoubleField( e, fieldName,
+                    o.toString(),
+                    new Double(v) ) ;
+            } else {
+                throw utilWrapper.errorSetDoubleField( e, fieldName,
+                    "null " + c.getName() + " object",
+                    new Double(v) ) ;
+            }
         }
     }
 
--- a/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Fri Sep 18 04:09:04 2015 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Wed Sep 30 16:42:49 2015 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,6 +32,7 @@
 package com.sun.corba.se.impl.io;
 
 import java.io.IOException;
+import java.io.NotActiveException;
 import java.io.OutputStream;
 import java.io.ObjectOutputStream;
 import java.io.ObjectOutput;
@@ -154,7 +155,9 @@
 
     public ObjectOutputStream.PutField putFields()
         throws IOException {
-        putFields = new HookPutFields();
+        if (putFields == null) {
+            putFields = new HookPutFields();
+        }
         return putFields;
     }
 
@@ -175,8 +178,11 @@
         throws IOException {
 
         writeObjectState.defaultWriteObject(this);
-
-        putFields.write(this);
+        if (putFields != null) {
+            putFields.write(this);
+        } else {
+            throw new NotActiveException("no current PutField object");
+        }
     }
 
     abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();
--- a/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties	Fri Sep 18 04:09:04 2015 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_sv.properties	Wed Sep 30 16:42:49 2015 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -100,7 +100,7 @@
 tnameserv.orbinitialport0=ORBInitialPort 0 \u00E4r inte ett giltigt alternativ f\u00F6r NameService
 tnameserv.hs1=Ursprunglig namngivningskontext:\n{0}
 tnameserv.hs2=TransientNameServer: st\u00E4ller in port f\u00F6r ursprungliga objektreferenser till: {0}
-tnameserv.hs3=Redo.
+tnameserv.hs3=Klar.
 
 orbd.commfailure=\nKunde inte starta ORBD eftersom ORBinitialport redan anv\u00E4nds
 orbd.internalexception=\nKunde inte starta ORBD p\u00E5 grund av internt undantag. \nM\u00F6jliga orsaker: \n1. Angivet ORBInitialPort eller ORBActivationPort anv\u00E4ndas redan \n2. Ingen beh\u00F6righet att skriva till orb.db 
--- a/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java	Fri Sep 18 04:09:04 2015 +0100
+++ b/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java	Wed Sep 30 16:42:49 2015 +0100
@@ -77,7 +77,7 @@
      *
      * throw SecurityException if SecurityManager is installed and
      * enableSubclassImplementation SerializablePermission
-     * is not granted or jdk.corba.allowOutputStreamSubclass system
+     * is not granted or jdk.corba.allowInputStreamSubclass system
      * property is either not set or is set to 'false'
      */
     public InputStream() {