diff options
Diffstat (limited to 'src/lib/libcrypto/x509')
| -rw-r--r-- | src/lib/libcrypto/x509/x509_v3.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/lib/libcrypto/x509/x509_v3.c b/src/lib/libcrypto/x509/x509_v3.c index fcc6897378..22fa7e1162 100644 --- a/src/lib/libcrypto/x509/x509_v3.c +++ b/src/lib/libcrypto/x509/x509_v3.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x509_v3.c,v 1.30 2024/05/23 02:00:38 tb Exp $ */ | 1 | /* $OpenBSD: x509_v3.c,v 1.31 2024/07/12 08:39:54 tb Exp $ */ |
| 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
| 3 | * All rights reserved. | 3 | * All rights reserved. |
| 4 | * | 4 | * |
| @@ -94,20 +94,16 @@ int | |||
| 94 | X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *sk, | 94 | X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *sk, |
| 95 | const ASN1_OBJECT *obj, int lastpos) | 95 | const ASN1_OBJECT *obj, int lastpos) |
| 96 | { | 96 | { |
| 97 | int n; | 97 | if (++lastpos < 0) |
| 98 | X509_EXTENSION *ext; | ||
| 99 | |||
| 100 | if (sk == NULL) | ||
| 101 | return -1; | ||
| 102 | lastpos++; | ||
| 103 | if (lastpos < 0) | ||
| 104 | lastpos = 0; | 98 | lastpos = 0; |
| 105 | n = sk_X509_EXTENSION_num(sk); | 99 | |
| 106 | for (; lastpos < n; lastpos++) { | 100 | for (; lastpos < X509v3_get_ext_count(sk); lastpos++) { |
| 107 | ext = sk_X509_EXTENSION_value(sk, lastpos); | 101 | const X509_EXTENSION *ext = X509v3_get_ext(sk, lastpos); |
| 102 | |||
| 108 | if (OBJ_cmp(ext->object, obj) == 0) | 103 | if (OBJ_cmp(ext->object, obj) == 0) |
| 109 | return lastpos; | 104 | return lastpos; |
| 110 | } | 105 | } |
| 106 | |||
| 111 | return -1; | 107 | return -1; |
| 112 | } | 108 | } |
| 113 | LCRYPTO_ALIAS(X509v3_get_ext_by_OBJ); | 109 | LCRYPTO_ALIAS(X509v3_get_ext_by_OBJ); |
