Print this page
(void) an sk_set via a macro which upsets lint.  If the macro is
complicated, this might need to be /* LINTED */ instead
remove lint supression made unnecessary by the openssl upgrade

@@ -2497,11 +2497,10 @@
                 return (NULL);
 
         keyhash = id->value.byKey->data;
         /* Calculate hash of each key and compare */
         for (i = 0; i < sk_X509_num(certs); i++) {
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 X509 *x = sk_X509_value(certs, i);
                 /* Use pubkey_digest to get the key ID value */
                 (void) X509_pubkey_digest(x, EVP_sha1(), tmphash, NULL);
                 if (!memcmp(keyhash, tmphash, SHA_DIGEST_LENGTH))
                         return (x);

@@ -3637,11 +3636,10 @@
                 rv = KMF_ERR_MEMORY;
                 goto err;
         }
 
         for (i = 0; i < sk_X509_INFO_num(x509_info_stack); i++) {
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 cert_infos[ncerts] = sk_X509_INFO_value(x509_info_stack, i);
                 ncerts++;
         }
 
         if (ncerts == 0) {

@@ -3719,11 +3717,10 @@
                 *priv_key = pkey;
 
 err:
         /* Cleanup the stack of X509 info records */
         for (i = 0; i < sk_X509_INFO_num(x509_info_stack); i++) {
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 info = (X509_INFO *)sk_X509_INFO_value(x509_info_stack, i);
                 X509_INFO_free(info);
         }
         if (x509_info_stack)
                 sk_X509_INFO_free(x509_info_stack);

@@ -3740,11 +3737,10 @@
 {
         KMF_RETURN ret;
         int i;
 
         for (i = 0; i < sk_PKCS12_SAFEBAG_num(bags); i++) {
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 PKCS12_SAFEBAG *bag = sk_PKCS12_SAFEBAG_value(bags, i);
                 ret = openssl_parse_bag(bag, pin, (pin ? strlen(pin) : 0),
                     keys, certs);
 
                 if (ret != KMF_OK)

@@ -3771,16 +3767,14 @@
         if (attr != NULL) {
                 int i;
                 X509_ATTRIBUTE *a;
                 for (i = 0;
                     i < sk_X509_ATTRIBUTE_num(pkey->attributes); i++) {
-                        /* LINTED E_BAD_PTR_CASE_ALIGN */
                         a = sk_X509_ATTRIBUTE_value(pkey->attributes, i);
                         if (OBJ_obj2nid(a->object) == nid) {
                                 X509_ATTRIBUTE_free(a);
-                                /* LINTED E_BAD_PTR_CAST_ALIGN */
-                                sk_X509_ATTRIBUTE_set(pkey->attributes,
+                                (void) sk_X509_ATTRIBUTE_set(pkey->attributes,
                                     i, attr);
                                 return (KMF_OK);
                         }
                 }
                 if (sk_X509_ATTRIBUTE_push(pkey->attributes, attr) == NULL) {

@@ -3953,11 +3947,10 @@
         if ((asafes = PKCS12_unpack_authsafes(p12)) == NULL)
                 return (KMF_ERR_PKCS12_FORMAT);
 
         for (i = 0; ret == KMF_OK && i < sk_PKCS7_num(asafes); i++) {
                 bags = NULL;
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 p7 = sk_PKCS7_value(asafes, i);
                 bagnid = OBJ_obj2nid(p7->type);
 
                 if (bagnid == NID_pkcs7_data) {
                         bags = PKCS12_unpack_p7data(p7);

@@ -4231,11 +4224,10 @@
 
         if (attrs == NULL)
                 return (NULL);
 
         for (i = 0; i < sk_X509_ATTRIBUTE_num(attrs); i++) {
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 a = sk_X509_ATTRIBUTE_value(attrs, i);
                 if (OBJ_obj2nid(a->object) == nid)
                         return (a);
         }
         return (NULL);

@@ -4272,11 +4264,10 @@
         attr = find_attr(pkey->attributes, NID_friendlyName);
         if (attr != NULL) {
                 ASN1_TYPE *ty = NULL;
                 int numattr = sk_ASN1_TYPE_num(attr->value.set);
                 if (attr->single == 0 && numattr > 0) {
-                        /* LINTED E_BAD_PTR_CAST_ALIGN */
                         ty = sk_ASN1_TYPE_value(attr->value.set, 0);
                 }
                 if (ty != NULL) {
 #if OPENSSL_VERSION_NUMBER < 0x10000000L
                         key->label = uni2asc(ty->value.bmpstring->data,

@@ -4296,11 +4287,10 @@
         attr = find_attr(pkey->attributes, NID_localKeyID);
         if (attr != NULL) {
                 ASN1_TYPE *ty = NULL;
                 int numattr = sk_ASN1_TYPE_num(attr->value.set);
                 if (attr->single == 0 && numattr > 0) {
-                        /* LINTED E_BAD_PTR_CAST_ALIGN */
                         ty = sk_ASN1_TYPE_value(attr->value.set, 0);
                 }
                 key->id.Data = (uchar_t *)malloc(
                     ty->value.octet_string->length);
                 if (key->id.Data == NULL)

@@ -4327,11 +4317,10 @@
         KMF_RETURN rv = KMF_OK;
         KMF_RAW_KEY_DATA key;
         int i;
 
         for (i = 0; sslkeys != NULL && i < sk_EVP_PKEY_num(sslkeys); i++) {
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 EVP_PKEY *pkey = sk_EVP_PKEY_value(sslkeys, i);
                 rv = convertToRawKey(pkey, &key);
                 if (rv == KMF_OK)
                         rv = add_key_to_list(keylist, &key, nkeys);
 

@@ -4339,11 +4328,10 @@
                         return (rv);
         }
 
         /* Now add the certificate to the certlist */
         for (i = 0; sslcert != NULL && i < sk_X509_num(sslcert); i++) {
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 X509 *cert = sk_X509_value(sslcert, i);
                 rv = add_cert_to_list(kmfh, cert, certlist, ncerts);
                 if (rv != KMF_OK)
                         return (rv);
         }

@@ -4355,11 +4343,10 @@
                  * sk_X509_value() is macro that embeds a cast to (X509 *).
                  * Here it translates into ((X509 *)sk_value((ca), (i))).
                  * Lint is complaining about the embedded casting, and
                  * to fix it, you need to fix openssl header files.
                  */
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 c = sk_X509_value(sslcacerts, i);
 
                 /* Now add the ca cert to the certlist */
                 rv = add_cert_to_list(kmfh, c, certlist, ncerts);
                 if (rv != KMF_OK)

@@ -5422,11 +5409,10 @@
                 ret = KMF_ERR_EMPTY_CRL;
                 goto end;
         }
 
         for (i = 0; i < sk_X509_REVOKED_num(revoke_stack); i++) {
-                /* LINTED E_BAD_PTR_CAST_ALIGN */
                 revoke = sk_X509_REVOKED_value(revoke_stack, i);
                 if (ASN1_INTEGER_cmp(xcert->cert_info->serialNumber,
                     revoke->serialNumber) == 0) {
                         break;
                 }