Skip to content

Commit

Permalink
Fix error handling in X509_chain_up_ref
Browse files Browse the repository at this point in the history
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from #9614)

(cherry picked from commit cae665d)
  • Loading branch information
bernd-edlinger committed Aug 17, 2019
1 parent b15a19c commit b14c6d9
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion crypto/x509/x509_cmp.c
Expand Up @@ -451,9 +451,17 @@ STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain)
STACK_OF(X509) *ret;
int i;
ret = sk_X509_dup(chain);
if (ret == NULL)
return NULL;
for (i = 0; i < sk_X509_num(ret); i++) {
X509 *x = sk_X509_value(ret, i);
X509_up_ref(x);
if (!X509_up_ref(x))
goto err;
}
return ret;
err:
while (i-- > 0)
X509_free (sk_X509_value(ret, i));
sk_X509_free(ret);
return NULL;
}

0 comments on commit b14c6d9

Please sign in to comment.