Fri, 18 Nov 2011 11:01:41 -0800
Merge
1.1 --- a/.hgtags Fri Nov 11 10:16:17 2011 +0000 1.2 +++ b/.hgtags Fri Nov 18 11:01:41 2011 -0800 1.3 @@ -134,3 +134,5 @@ 1.4 cda87f7fefcee3b89742a57ce5ad9b03a54c210d jdk8-b10 1.5 0199e4fef5cc2bd234c65b93220459ef7a3bb3b1 jdk8-b11 1.6 31d70911b712c6b4e580a3110363d5f044cfed7a jdk8-b12 1.7 +5b9d9b839d3d7fe02347827221c97c6d242a6f96 jdk8-b13 1.8 +e59c47de1ad8982ff3b0e843773a6902b36c2337 jdk8-b14
2.1 --- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Fri Nov 11 10:16:17 2011 +0000 2.2 +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Fri Nov 18 11:01:41 2011 -0800 2.3 @@ -1,5 +1,5 @@ 2.4 /* 2.5 - * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved. 2.6 + * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. 2.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 2.8 * 2.9 * This code is free software; you can redistribute it and/or modify it 2.10 @@ -2243,6 +2243,10 @@ 2.11 } 2.12 2.13 try { 2.14 + Class fieldCl = fields[i].getClazz(); 2.15 + if (objectValue != null && !fieldCl.isInstance(objectValue)) { 2.16 + throw new IllegalArgumentException(); 2.17 + } 2.18 bridge.putObject( o, fields[i].getFieldID(), objectValue ) ; 2.19 // reflective code: fields[i].getField().set( o, objectValue ) ; 2.20 } catch (IllegalArgumentException e) { 2.21 @@ -2553,6 +2557,10 @@ 2.22 { 2.23 try { 2.24 Field fld = c.getDeclaredField( fieldName ) ; 2.25 + Class fieldCl = fld.getType(); 2.26 + if(v != null && !fieldCl.isInstance(v)) { 2.27 + throw new Exception(); 2.28 + } 2.29 long key = bridge.objectFieldOffset( fld ) ; 2.30 bridge.putObject( o, key, v ) ; 2.31 } catch (Exception e) {