diff options
Diffstat (limited to 'src/lib/libcrypto/engine/eng_cnf.c')
-rw-r--r-- | src/lib/libcrypto/engine/eng_cnf.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/src/lib/libcrypto/engine/eng_cnf.c b/src/lib/libcrypto/engine/eng_cnf.c index 95c4070015..08066cea59 100644 --- a/src/lib/libcrypto/engine/eng_cnf.c +++ b/src/lib/libcrypto/engine/eng_cnf.c | |||
@@ -95,7 +95,7 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf) | |||
95 | int ret = 0; | 95 | int ret = 0; |
96 | long do_init = -1; | 96 | long do_init = -1; |
97 | STACK_OF(CONF_VALUE) *ecmds; | 97 | STACK_OF(CONF_VALUE) *ecmds; |
98 | CONF_VALUE *ecmd = NULL; | 98 | CONF_VALUE *ecmd; |
99 | char *ctrlname, *ctrlvalue; | 99 | char *ctrlname, *ctrlvalue; |
100 | ENGINE *e = NULL; | 100 | ENGINE *e = NULL; |
101 | int soft = 0; | 101 | int soft = 0; |
@@ -157,7 +157,7 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf) | |||
157 | return 1; | 157 | return 1; |
158 | } | 158 | } |
159 | if (!e) | 159 | if (!e) |
160 | goto err; | 160 | return 0; |
161 | } | 161 | } |
162 | /* Allow "EMPTY" to mean no value: this allows a valid | 162 | /* Allow "EMPTY" to mean no value: this allows a valid |
163 | * "value" to be passed to ctrls of type NO_INPUT | 163 | * "value" to be passed to ctrls of type NO_INPUT |
@@ -186,27 +186,16 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf) | |||
186 | } | 186 | } |
187 | else if (!ENGINE_ctrl_cmd_string(e, | 187 | else if (!ENGINE_ctrl_cmd_string(e, |
188 | ctrlname, ctrlvalue, 0)) | 188 | ctrlname, ctrlvalue, 0)) |
189 | goto err; | 189 | return 0; |
190 | } | 190 | } |
191 | 191 | ||
192 | 192 | ||
193 | 193 | ||
194 | } | 194 | } |
195 | if (e && (do_init == -1) && !int_engine_init(e)) | 195 | if (e && (do_init == -1) && !int_engine_init(e)) |
196 | { | ||
197 | ecmd = NULL; | ||
198 | goto err; | 196 | goto err; |
199 | } | ||
200 | ret = 1; | 197 | ret = 1; |
201 | err: | 198 | err: |
202 | if (ret != 1) | ||
203 | { | ||
204 | ENGINEerr(ENGINE_F_INT_ENGINE_CONFIGURE, ENGINE_R_ENGINE_CONFIGURATION_ERROR); | ||
205 | if (ecmd) | ||
206 | ERR_add_error_data(6, "section=", ecmd->section, | ||
207 | ", name=", ecmd->name, | ||
208 | ", value=", ecmd->value); | ||
209 | } | ||
210 | if (e) | 199 | if (e) |
211 | ENGINE_free(e); | 200 | ENGINE_free(e); |
212 | return ret; | 201 | return ret; |