use err goto for error out

This commit is contained in:
Jacob Barthelmeh
2021-03-17 17:06:03 +07:00
parent 2732ba2bba
commit 6ef905c9e3

View File

@ -9790,8 +9790,7 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
gn = wolfSSL_GENERAL_NAME_new(); gn = wolfSSL_GENERAL_NAME_new();
if (gn == NULL) { if (gn == NULL) {
WOLFSSL_MSG("Error creating GENERAL_NAME"); WOLFSSL_MSG("Error creating GENERAL_NAME");
wolfSSL_sk_free(sk); goto err;
return NULL;
} }
gn->type = dns->type; gn->type = dns->type;
@ -9799,18 +9798,14 @@ void* wolfSSL_X509_get_ext_d2i(const WOLFSSL_X509* x509, int nid, int* c,
if (wolfSSL_ASN1_STRING_set(gn->d.ia5, dns->name, if (wolfSSL_ASN1_STRING_set(gn->d.ia5, dns->name,
gn->d.ia5->length) != WOLFSSL_SUCCESS) { gn->d.ia5->length) != WOLFSSL_SUCCESS) {
WOLFSSL_MSG("ASN1_STRING_set failed"); WOLFSSL_MSG("ASN1_STRING_set failed");
wolfSSL_GENERAL_NAME_free(gn); goto err;
wolfSSL_sk_free(sk);
return NULL;
} }
dns = dns->next; dns = dns->next;
if (wolfSSL_sk_GENERAL_NAME_push(sk, gn) != if (wolfSSL_sk_GENERAL_NAME_push(sk, gn) !=
WOLFSSL_SUCCESS) { WOLFSSL_SUCCESS) {
WOLFSSL_MSG("Error pushing ASN1 object onto stack"); WOLFSSL_MSG("Error pushing ASN1 object onto stack");
wolfSSL_GENERAL_NAME_free(gn); goto err;
wolfSSL_sk_free(sk);
sk = NULL;
} }
/* null so that it doesn't get pushed again after switch */ /* null so that it doesn't get pushed again after switch */
gn = NULL; gn = NULL;