Print this page
4853 illumos-gate is not lint-clean when built with openssl 1.0
Reviewed by Keith Wesolowski <keith.wesolowski@joyent.com>
Reviewed by Alexander Eremin <alexander.eremin@nexenta.com>
@@ -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;
}