From 26ebd2017004eae715d8c50d9d0328eb97bfc99e Mon Sep 17 00:00:00 2001 From: Alex Dupre Date: Sun, 13 Nov 2011 21:07:33 +0000 Subject: Update to 1.2.18 release. Feature safe: yes --- .../files/patch-native_src_pkcs11wrapper.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'security/iaikpkcs11wrapper/files/patch-native_src_pkcs11wrapper.c') diff --git a/security/iaikpkcs11wrapper/files/patch-native_src_pkcs11wrapper.c b/security/iaikpkcs11wrapper/files/patch-native_src_pkcs11wrapper.c index df010e4cd5d1..bbf6cb1dc775 100644 --- a/security/iaikpkcs11wrapper/files/patch-native_src_pkcs11wrapper.c +++ b/security/iaikpkcs11wrapper/files/patch-native_src_pkcs11wrapper.c @@ -1,14 +1,14 @@ ---- ../../src/pkcs11wrapper.c.orig 2008-07-24 12:20:36.000000000 +0200 -+++ ../../src/pkcs11wrapper.c 2011-04-12 10:53:02.000000000 +0200 -@@ -1134,6 +1134,7 @@ +--- ../../common/pkcs11wrapper.c.orig 2011-11-03 12:15:18.000000000 +0100 ++++ ../../common/pkcs11wrapper.c 2011-11-13 21:55:57.000000000 +0100 +@@ -1258,6 +1258,7 @@ jobject jAttribute; CK_RV rv; CK_ULONG error = 0; + CK_BBOOL array = FALSE; ModuleData *moduleData; CK_FUNCTION_LIST_PTR ckpFunctions; - moduleData = getModuleEntry(env, obj); -@@ -1188,9 +1189,11 @@ + +@@ -1328,9 +1329,11 @@ for (j=0; jC_GetAttributeValue)(ckSessionHandle, ckObjectHandle, ckpAttributes, ckAttributesLength); - if(ckAssertReturnValueOK(env, rv) != CK_ASSERT_OK) { -@@ -1202,6 +1205,7 @@ - free(ckpAttributes); + if(ckAssertReturnValueOK(env, rv, __FUNCTION__) != CK_ASSERT_OK) { +@@ -1343,6 +1346,7 @@ + TRACE0(tag_call, __FUNCTION__, "exiting "); return ; } + } /* now, the ulValueLength field of each attribute should hold the exact buffer length needed * to allocate the needed buffers accordingly -@@ -4111,11 +4115,12 @@ +@@ -4474,11 +4478,12 @@ jpTemp = (jchar*) malloc((*ckpLength) * sizeof(jchar)); - if (jpTemp == NULL) { *ckpArray = NULL_PTR; throwOutOfMemoryError(env); return 1; } + if (jpTemp == NULL && (*ckpLength)!=0) { *ckpArray = NULL_PTR; throwOutOfMemoryError(env); return 1; } (*env)->GetCharArrayRegion(env, jArray, 0, *ckpLength, jpTemp); - *ckpArray = (CK_UTF8CHAR_PTR) malloc (*ckpLength * sizeof(CK_UTF8CHAR)); + *ckpArray = (CK_UTF8CHAR_PTR) malloc ((*ckpLength + 1) * sizeof(CK_UTF8CHAR)); - if (*ckpArray == NULL) { free(jpTemp); throwOutOfMemoryError(env); return 2; } + if (*ckpArray == NULL && (*ckpLength)!=0) { free(jpTemp); throwOutOfMemoryError(env); return 2; } for (i=0; i<(*ckpLength); i++) { (*ckpArray)[i] = jCharToCKUTF8Char(jpTemp[i]); } -- cgit v1.2.3