diff -r bb63e4d4b1de -r eccef47ec254 jdk/src/share/classes/sun/security/pkcs11/P11SecureRandom.java --- a/jdk/src/share/classes/sun/security/pkcs11/P11SecureRandom.java Thu Mar 18 17:32:45 2010 -0700 +++ b/jdk/src/share/classes/sun/security/pkcs11/P11SecureRandom.java Thu Mar 18 17:56:39 2010 -0700 @@ -188,4 +188,13 @@ token.releaseSession(session); } } + + private void readObject(ObjectInputStream in) + throws IOException, ClassNotFoundException { + in.defaultReadObject(); + // assign default values to non-null transient fields + iBuffer = new byte[IBUFFER_SIZE]; + ibuffered = 0; + lastRead = 0L; + } }