apps/cmp.c: fix crash with -batch option on OPENSSL_NO_UI_CONSOLE

Also make clear we cannot use get_ui_method() at this point.

Fixes #13494

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13497)
This commit is contained in:
Dr. David von Oheimb 2020-11-24 16:16:08 +01:00
parent 68f9d9223b
commit 931d5b4b27
3 changed files with 4 additions and 7 deletions

View File

@ -2698,13 +2698,10 @@ int cmp_main(int argc, char **argv)
ret = 0;
if (opt_batch) {
UI_METHOD *ui_fallback_method;
#ifndef OPENSSL_NO_UI_CONSOLE
ui_fallback_method = UI_OpenSSL();
#else
ui_fallback_method = (UI_METHOD *)UI_null();
UI_method_set_reader(UI_OpenSSL(), NULL);
/* can't change get_ui_method() here as load_key_certs_crls() uses it */
#endif
UI_method_set_reader(ui_fallback_method, NULL);
}
if (opt_engine != NULL)

View File

@ -21,7 +21,7 @@ int password_callback(char *buf, int bufsiz, int verify, PW_CB_DATA *cb_data);
int setup_ui_method(void);
void destroy_ui_method(void);
const UI_METHOD *get_ui_method(void);
UI_METHOD *get_ui_method(void);
extern BIO *bio_err;

View File

@ -136,7 +136,7 @@ void destroy_ui_method(void)
}
}
const UI_METHOD *get_ui_method(void)
UI_METHOD *get_ui_method(void)
{
return ui_method;
}