X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=ssl%2Ft1_lib.c;h=8b31e84b633fc5b02bb6cde38dcdb52062ec16bf;hp=f13c0ada939406e843b79a377848aa0de0373148;hb=75c13e7830653eee4b61dd96ceea7c446c381316;hpb=8fce04ee3540ba3039bb66df34ea3f076a599ab9 diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index f13c0ada93..8b31e84b63 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -2009,25 +2009,20 @@ int tls1_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain, break; } if (check_type) { - const unsigned char *ctypes; - int ctypelen; - if (c->ctypes) { - ctypes = c->ctypes; - ctypelen = (int)c->ctype_num; - } else { - ctypes = (unsigned char *)s->s3->tmp.ctype; - ctypelen = s->s3->tmp.ctype_num; - } - for (i = 0; i < ctypelen; i++) { - if (ctypes[i] == check_type) { + const uint8_t *ctypes = s->s3->tmp.ctype; + size_t j; + + for (j = 0; j < s->s3->tmp.ctype_len; j++, ctypes++) { + if (*ctypes == check_type) { rv |= CERT_PKEY_CERT_TYPE; break; } } if (!(rv & CERT_PKEY_CERT_TYPE) && !check_flags) goto end; - } else + } else { rv |= CERT_PKEY_CERT_TYPE; + } ca_dn = s->s3->tmp.ca_names;