hx509: Fix coverity warnings
This commit is contained in:
@@ -893,9 +893,12 @@ HX509_LIB_FUNCTION void HX509_LIB_CALL
|
||||
hx509_free_octet_string_list(hx509_octet_string_list *list)
|
||||
{
|
||||
size_t i;
|
||||
for (i = 0; i < list->len; i++)
|
||||
der_free_octet_string(&list->val[i]);
|
||||
free(list->val);
|
||||
|
||||
if (list->val) {
|
||||
for (i = 0; i < list->len; i++)
|
||||
der_free_octet_string(&list->val[i]);
|
||||
free(list->val);
|
||||
}
|
||||
list->val = NULL;
|
||||
list->len = 0;
|
||||
}
|
||||
@@ -2809,6 +2812,12 @@ _hx509_set_cert_attribute(hx509_context context,
|
||||
{
|
||||
hx509_cert_attribute a;
|
||||
void *d;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* TODO: Rewrite this (and hx509_cert_attribute, and _hx509_cert_attrs) to
|
||||
* use the add_AttributeValues() util generated by asn1_compile.
|
||||
*/
|
||||
|
||||
if (hx509_cert_get_attribute(cert, oid) != NULL)
|
||||
return 0;
|
||||
@@ -2825,13 +2834,18 @@ _hx509_set_cert_attribute(hx509_context context,
|
||||
if (a == NULL)
|
||||
return ENOMEM;
|
||||
|
||||
der_copy_octet_string(attr, &a->data);
|
||||
der_copy_oid(oid, &a->oid);
|
||||
ret = der_copy_octet_string(attr, &a->data);
|
||||
if (ret == 0)
|
||||
ret = der_copy_oid(oid, &a->oid);
|
||||
if (ret == 0) {
|
||||
cert->attrs.val[cert->attrs.len] = a;
|
||||
cert->attrs.len++;
|
||||
} else {
|
||||
der_free_octet_string(&a->data);
|
||||
free(a);
|
||||
}
|
||||
|
||||
cert->attrs.val[cert->attrs.len] = a;
|
||||
cert->attrs.len++;
|
||||
|
||||
return 0;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user