Loading crypto/x509/x509_cmp.c +9 −1 Original line number Original line Diff line number Diff line Loading @@ -450,9 +450,17 @@ STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain) STACK_OF(X509) *ret; STACK_OF(X509) *ret; int i; int i; ret = sk_X509_dup(chain); ret = sk_X509_dup(chain); if (ret == NULL) return NULL; for (i = 0; i < sk_X509_num(ret); i++) { for (i = 0; i < sk_X509_num(ret); i++) { X509 *x = sk_X509_value(ret, i); X509 *x = sk_X509_value(ret, i); X509_up_ref(x); if (!X509_up_ref(x)) goto err; } } return ret; return ret; err: while (i-- > 0) X509_free (sk_X509_value(ret, i)); sk_X509_free(ret); return NULL; } } Loading
crypto/x509/x509_cmp.c +9 −1 Original line number Original line Diff line number Diff line Loading @@ -450,9 +450,17 @@ STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain) STACK_OF(X509) *ret; STACK_OF(X509) *ret; int i; int i; ret = sk_X509_dup(chain); ret = sk_X509_dup(chain); if (ret == NULL) return NULL; for (i = 0; i < sk_X509_num(ret); i++) { for (i = 0; i < sk_X509_num(ret); i++) { X509 *x = sk_X509_value(ret, i); X509 *x = sk_X509_value(ret, i); X509_up_ref(x); if (!X509_up_ref(x)) goto err; } } return ret; return ret; err: while (i-- > 0) X509_free (sk_X509_value(ret, i)); sk_X509_free(ret); return NULL; } }