diff options
-rw-r--r-- | src/lib/libcrypto/x509/by_file.c | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/src/lib/libcrypto/x509/by_file.c b/src/lib/libcrypto/x509/by_file.c index 606f4c8d0c..fc2d72bbd2 100644 --- a/src/lib/libcrypto/x509/by_file.c +++ b/src/lib/libcrypto/x509/by_file.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: by_file.c,v 1.28 2023/02/16 08:38:17 tb Exp $ */ | 1 | /* $OpenBSD: by_file.c,v 1.29 2023/11/30 17:01:04 beck 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 | * |
@@ -95,28 +95,22 @@ static int | |||
95 | by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, | 95 | by_file_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl, |
96 | char **ret) | 96 | char **ret) |
97 | { | 97 | { |
98 | int ok = 0; | 98 | const char *file = argp; |
99 | int type = argl; | ||
99 | 100 | ||
100 | switch (cmd) { | 101 | if (cmd != X509_L_FILE_LOAD) |
101 | case X509_L_FILE_LOAD: | 102 | return 0; |
102 | if (argl == X509_FILETYPE_DEFAULT) { | 103 | |
103 | ok = (X509_load_cert_crl_file(ctx, | 104 | if (argl == X509_FILETYPE_DEFAULT) { |
104 | X509_get_default_cert_file(), | 105 | file = X509_get_default_cert_file(); |
105 | X509_FILETYPE_PEM) != 0); | 106 | type = X509_FILETYPE_PEM; |
106 | if (!ok) { | ||
107 | X509error(X509_R_LOADING_DEFAULTS); | ||
108 | } | ||
109 | } else { | ||
110 | if (argl == X509_FILETYPE_PEM) | ||
111 | ok = (X509_load_cert_crl_file(ctx, argp, | ||
112 | X509_FILETYPE_PEM) != 0); | ||
113 | else | ||
114 | ok = (X509_load_cert_file(ctx, | ||
115 | argp, (int)argl) != 0); | ||
116 | } | ||
117 | break; | ||
118 | } | 107 | } |
119 | return ok; | 108 | if (X509_load_cert_crl_file(ctx, file, type) != 0) |
109 | return 1; | ||
110 | if (argl == X509_FILETYPE_DEFAULT) | ||
111 | X509error(X509_R_LOADING_DEFAULTS); | ||
112 | |||
113 | return 0; | ||
120 | } | 114 | } |
121 | 115 | ||
122 | int | 116 | int |