summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/x509/x509_vpm.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/lib/libcrypto/x509/x509_vpm.c b/src/lib/libcrypto/x509/x509_vpm.c
index 662e3179a6..a3fa84448e 100644
--- a/src/lib/libcrypto/x509/x509_vpm.c
+++ b/src/lib/libcrypto/x509/x509_vpm.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509_vpm.c,v 1.41 2023/12/14 12:02:10 tb Exp $ */ 1/* $OpenBSD: x509_vpm.c,v 1.42 2024/01/08 09:51:09 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2004. 3 * project 2004.
4 */ 4 */
@@ -61,6 +61,7 @@
61 61
62#include <openssl/buffer.h> 62#include <openssl/buffer.h>
63#include <openssl/crypto.h> 63#include <openssl/crypto.h>
64#include <openssl/err.h>
64#include <openssl/lhash.h> 65#include <openssl/lhash.h>
65#include <openssl/stack.h> 66#include <openssl/stack.h>
66#include <openssl/x509.h> 67#include <openssl/x509.h>
@@ -408,14 +409,26 @@ LCRYPTO_ALIAS(X509_VERIFY_PARAM_get_flags);
408int 409int
409X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose) 410X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose)
410{ 411{
411 return X509_PURPOSE_set(&param->purpose, purpose); 412 if (purpose < X509_PURPOSE_MIN || purpose > X509_PURPOSE_MAX) {
413 X509V3error(X509V3_R_INVALID_PURPOSE);
414 return 0;
415 }
416
417 param->purpose = purpose;
418 return 1;
412} 419}
413LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_purpose); 420LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_purpose);
414 421
415int 422int
416X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust) 423X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust)
417{ 424{
418 return X509_TRUST_set(&param->trust, trust); 425 if (trust < X509_TRUST_MIN || trust > X509_TRUST_MAX) {
426 X509error(X509_R_INVALID_TRUST);
427 return 0;
428 }
429
430 param->trust = trust;
431 return 1;
419} 432}
420LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_trust); 433LCRYPTO_ALIAS(X509_VERIFY_PARAM_set_trust);
421 434