diff options
Diffstat (limited to 'crypto/ct')
-rw-r--r-- | crypto/ct/ct_x509v3.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/ct/ct_x509v3.c b/crypto/ct/ct_x509v3.c index a6c7331b80..ec186d1f5b 100644 --- a/crypto/ct/ct_x509v3.c +++ b/crypto/ct/ct_x509v3.c @@ -34,8 +34,10 @@ static int set_sct_list_source(STACK_OF(SCT) *s, sct_source_t source) { if (s != NULL) { int i; + for (i = 0; i < sk_SCT_num(s); i++) { int res = SCT_set_source(sk_SCT_value(s, i), source); + if (res != 1) { return 0; } @@ -49,6 +51,7 @@ static STACK_OF(SCT) *x509_ext_d2i_SCT_LIST(STACK_OF(SCT) **a, long len) { STACK_OF(SCT) *s = d2i_SCT_LIST(a, pp, len); + if (set_sct_list_source(s, SCT_SOURCE_X509V3_EXTENSION) != 1) { SCT_LIST_free(s); *a = NULL; @@ -62,6 +65,7 @@ static STACK_OF(SCT) *ocsp_ext_d2i_SCT_LIST(STACK_OF(SCT) **a, long len) { STACK_OF(SCT) *s = d2i_SCT_LIST(a, pp, len); + if (set_sct_list_source(s, SCT_SOURCE_OCSP_STAPLED_RESPONSE) != 1) { SCT_LIST_free(s); *a = NULL; |