src/jdk.crypto.cryptoki/share/native/libj2pkcs11/p11_util.c
changeset 58281 49836127542b
parent 57737 6bbb4af131e3
child 58489 2faeaa5933a6
equal deleted inserted replaced
58280:ef8c8cf9256a 58281:49836127542b
   717     *ckpArray = (CK_ATTRIBUTE_PTR) calloc(*ckpLength, sizeof(CK_ATTRIBUTE));
   717     *ckpArray = (CK_ATTRIBUTE_PTR) calloc(*ckpLength, sizeof(CK_ATTRIBUTE));
   718     if (*ckpArray == NULL) {
   718     if (*ckpArray == NULL) {
   719         throwOutOfMemoryError(env, 0);
   719         throwOutOfMemoryError(env, 0);
   720         return;
   720         return;
   721     }
   721     }
   722     TRACE1(", converting %d attributes", jLength);
   722     TRACE1(", converting %lld attributes", (long long int) jLength);
   723     for (i=0; i<(*ckpLength); i++) {
   723     for (i=0; i<(*ckpLength); i++) {
   724         TRACE1(", getting %d. attribute", i);
   724         TRACE1(", getting %lu. attribute", i);
   725         jAttribute = (*env)->GetObjectArrayElement(env, jArray, i);
   725         jAttribute = (*env)->GetObjectArrayElement(env, jArray, i);
   726         if ((*env)->ExceptionCheck(env)) {
   726         if ((*env)->ExceptionCheck(env)) {
   727             freeCKAttributeArray(*ckpArray, i);
   727             freeCKAttributeArray(*ckpArray, i);
   728             return;
   728             return;
   729         }
   729         }
   730         TRACE1(", jAttribute = %d", jAttribute);
   730         TRACE1(", jAttribute , converting %lu. attribute", i);
   731         TRACE1(", converting %d. attribute", i);
       
   732         (*ckpArray)[i] = jAttributeToCKAttribute(env, jAttribute);
   731         (*ckpArray)[i] = jAttributeToCKAttribute(env, jAttribute);
   733         if ((*env)->ExceptionCheck(env)) {
   732         if ((*env)->ExceptionCheck(env)) {
   734             freeCKAttributeArray(*ckpArray, i);
   733             freeCKAttributeArray(*ckpArray, i);
   735             return;
   734             return;
   736         }
   735         }
  1114     jLongClass = (*env)->FindClass(env, "java/lang/Long");
  1113     jLongClass = (*env)->FindClass(env, "java/lang/Long");
  1115     if (jLongClass == NULL) { return NULL; }
  1114     if (jLongClass == NULL) { return NULL; }
  1116     if ((*env)->IsInstanceOf(env, jObject, jLongClass)) {
  1115     if ((*env)->IsInstanceOf(env, jObject, jLongClass)) {
  1117         ckpObject = jLongObjectToCKULongPtr(env, jObject);
  1116         ckpObject = jLongObjectToCKULongPtr(env, jObject);
  1118         *ckpLength = sizeof(CK_ULONG);
  1117         *ckpLength = sizeof(CK_ULONG);
  1119         TRACE1("<converted long value %X>", *((CK_ULONG *) ckpObject));
  1118         TRACE1("<converted long value %lu>", *((CK_ULONG *) ckpObject));
  1120         return ckpObject;
  1119         return ckpObject;
  1121     }
  1120     }
  1122 
  1121 
  1123     jBooleanClass = (*env)->FindClass(env, "java/lang/Boolean");
  1122     jBooleanClass = (*env)->FindClass(env, "java/lang/Boolean");
  1124     if (jBooleanClass == NULL) { return NULL; }
  1123     if (jBooleanClass == NULL) { return NULL; }
  1125     if ((*env)->IsInstanceOf(env, jObject, jBooleanClass)) {
  1124     if ((*env)->IsInstanceOf(env, jObject, jBooleanClass)) {
  1126         ckpObject = jBooleanObjectToCKBBoolPtr(env, jObject);
  1125         ckpObject = jBooleanObjectToCKBBoolPtr(env, jObject);
  1127         *ckpLength = sizeof(CK_BBOOL);
  1126         *ckpLength = sizeof(CK_BBOOL);
  1128         TRACE0(" <converted boolean value ");
  1127         TRACE0(" <converted boolean value ");
  1129         TRACE0((*((CK_BBOOL *) ckpObjectPtr) == TRUE) ? "TRUE>" : "FALSE>");
  1128         TRACE0((*((CK_BBOOL *) ckpObject) == TRUE) ? "TRUE>" : "FALSE>");
  1130         return ckpObject;
  1129         return ckpObject;
  1131     }
  1130     }
  1132 
  1131 
  1133     jByteArrayClass = (*env)->FindClass(env, "[B");
  1132     jByteArrayClass = (*env)->FindClass(env, "[B");
  1134     if (jByteArrayClass == NULL) { return NULL; }
  1133     if (jByteArrayClass == NULL) { return NULL; }
  1175     jIntegerClass = (*env)->FindClass(env, "java/lang/Integer");
  1174     jIntegerClass = (*env)->FindClass(env, "java/lang/Integer");
  1176     if (jIntegerClass == NULL) { return NULL; }
  1175     if (jIntegerClass == NULL) { return NULL; }
  1177     if ((*env)->IsInstanceOf(env, jObject, jIntegerClass)) {
  1176     if ((*env)->IsInstanceOf(env, jObject, jIntegerClass)) {
  1178         ckpObject = jIntegerObjectToCKULongPtr(env, jObject);
  1177         ckpObject = jIntegerObjectToCKULongPtr(env, jObject);
  1179         *ckpLength = sizeof(CK_ULONG);
  1178         *ckpLength = sizeof(CK_ULONG);
  1180         TRACE1("<converted integer value %X>", *((CK_ULONG *) ckpObject));
  1179         TRACE1("<converted integer value %lu>", *((CK_ULONG *) ckpObject));
  1181         return ckpObject;
  1180         return ckpObject;
  1182     }
  1181     }
  1183 
  1182 
  1184     jBooleanArrayClass = (*env)->FindClass(env, "[Z");
  1183     jBooleanArrayClass = (*env)->FindClass(env, "[Z");
  1185     if (jBooleanArrayClass == NULL) { return NULL; }
  1184     if (jBooleanArrayClass == NULL) { return NULL; }