changeset 10287:1399a0d7a410

6859220 pkcs11_softoken.so crashes in RC4 when doing a java benchmark
author Zdenek Kotala <Zdenek.Kotala@Sun.COM>
date Mon, 10 Aug 2009 16:24:10 +0200
parents 74dccb2b9732
children b8d3a3ad018d 914cf1548e2c
files usr/src/lib/pkcs11/pkcs11_softtoken/common/softEncryptUtil.c
diffstat 1 files changed, 5 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/lib/pkcs11/pkcs11_softtoken/common/softEncryptUtil.c	Mon Aug 10 09:09:16 2009 +0800
+++ b/usr/src/lib/pkcs11/pkcs11_softtoken/common/softEncryptUtil.c	Mon Aug 10 16:24:10 2009 +0200
@@ -19,12 +19,10 @@
  * CDDL HEADER END
  */
 /*
- * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
 
-#pragma ident	"%Z%%M%	%I%	%E% SMI"
-
 #include <pthread.h>
 #include <stdlib.h>
 #include <string.h>
@@ -818,8 +816,11 @@
 	case CKM_RC4:
 	{
 		ARCFour_key *key = (ARCFour_key *)session_p->encrypt.context;
+		/* Remaining data size is always zero for RC4. */
+		*pulLastEncryptedPartLen = 0;
+		if (pLastEncryptedPart == NULL)
+			goto clean1;
 		bzero(key, sizeof (*key));
-		*pulLastEncryptedPartLen = 0;
 		break;
 	}
 	default: