Mercurial > hg > icedtea7-forest > corba
changeset 1353:49c612f37361
Merge jdk7u85-b00
author | andrew |
---|---|
date | Thu, 09 Jul 2015 02:11:52 +0100 |
parents | 68c84058be4a (current diff) a1436e2c0aa8 (diff) |
children | 0c7c745caea1 |
files | .hgtags |
diffstat | 2 files changed, 127 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Wed Jul 08 13:17:24 2015 +0100 +++ b/.hgtags Thu Jul 09 02:11:52 2015 +0100 @@ -636,3 +636,4 @@ a97bddc81932c9772184182297291abacccc85c0 jdk7u80-b32 9d5c92264131bcac8d8a032c055080cf51b18202 icedtea-2.6pre23 e3445769412d69411988241bef34fd1d652a37d1 icedtea-2.6pre24 +02c5cee149d94496124f794b7ef89d860b8710ee jdk7u85-b00
--- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Wed Jul 08 13:17:24 2015 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Thu Jul 09 02:11:52 2015 +0100 @@ -2417,8 +2417,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 +2553,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 +2563,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 +2579,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 +2602,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 +2625,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 +2648,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 +2671,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 +2694,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 +2717,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 +2740,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) ) ; + } } }