diff options
| author | Matthew Garrett <mjg@redhat.com> | 2012-07-02 12:33:42 -0400 |
|---|---|---|
| committer | Matthew Garrett <mjg@redhat.com> | 2012-07-02 12:33:42 -0400 |
| commit | e21cbf4d9bafebb2560d1acac1e47e879c7f7493 (patch) | |
| tree | 308e31c8b7338e11843ac324ce20b89d765c3f45 /Cryptlib/OpenSSL/crypto/engine/eng_cnf.c | |
| parent | 5b1bf5583c3b6b523446b2b938f5f8355f488052 (diff) | |
| download | efi-boot-shim-e21cbf4d9bafebb2560d1acac1e47e879c7f7493.tar.gz efi-boot-shim-e21cbf4d9bafebb2560d1acac1e47e879c7f7493.zip | |
Update OpenSSL
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/engine/eng_cnf.c')
| -rwxr-xr-x | Cryptlib/OpenSSL/crypto/engine/eng_cnf.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_cnf.c b/Cryptlib/OpenSSL/crypto/engine/eng_cnf.c index 08066cea..95c40700 100755 --- a/Cryptlib/OpenSSL/crypto/engine/eng_cnf.c +++ b/Cryptlib/OpenSSL/crypto/engine/eng_cnf.c @@ -95,7 +95,7 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf) int ret = 0; long do_init = -1; STACK_OF(CONF_VALUE) *ecmds; - CONF_VALUE *ecmd; + CONF_VALUE *ecmd = NULL; char *ctrlname, *ctrlvalue; ENGINE *e = NULL; int soft = 0; @@ -157,7 +157,7 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf) return 1; } if (!e) - return 0; + goto err; } /* Allow "EMPTY" to mean no value: this allows a valid * "value" to be passed to ctrls of type NO_INPUT @@ -186,16 +186,27 @@ static int int_engine_configure(char *name, char *value, const CONF *cnf) } else if (!ENGINE_ctrl_cmd_string(e, ctrlname, ctrlvalue, 0)) - return 0; + goto err; } } if (e && (do_init == -1) && !int_engine_init(e)) + { + ecmd = NULL; goto err; + } ret = 1; err: + if (ret != 1) + { + ENGINEerr(ENGINE_F_INT_ENGINE_CONFIGURE, ENGINE_R_ENGINE_CONFIGURATION_ERROR); + if (ecmd) + ERR_add_error_data(6, "section=", ecmd->section, + ", name=", ecmd->name, + ", value=", ecmd->value); + } if (e) ENGINE_free(e); return ret; |
