From f84de16f397b06831ea5569a285518c035285f46 Mon Sep 17 00:00:00 2001 From: "Dr. David von Oheimb" <David.von.Oheimb@siemens.com> Date: Tue, 4 Aug 2020 10:11:02 +0200 Subject: [PATCH] apps_ui.c: Improve error handling and return value of setup_ui_method() Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/12493) --- apps/lib/apps_ui.c | 12 +++++++----- apps/openssl.c | 2 +- test/uitest.c | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/lib/apps_ui.c b/apps/lib/apps_ui.c index 13f8670d9f..8523cda3c2 100644 --- a/apps/lib/apps_ui.c +++ b/apps/lib/apps_ui.c @@ -106,11 +106,13 @@ int setup_ui_method(void) ui_fallback_method = UI_OpenSSL(); #endif ui_method = UI_create_method("OpenSSL application user interface"); - UI_method_set_opener(ui_method, ui_open); - UI_method_set_reader(ui_method, ui_read); - UI_method_set_writer(ui_method, ui_write); - UI_method_set_closer(ui_method, ui_close); - return 0; + return ui_method != NULL + && 0 == UI_method_set_opener(ui_method, ui_open) + && 0 == UI_method_set_reader(ui_method, ui_read) + && 0 == UI_method_set_writer(ui_method, ui_write) + && 0 == UI_method_set_closer(ui_method, ui_close) + && 0 == UI_method_set_prompt_constructor(ui_method, + ui_prompt_construct); } void destroy_ui_method(void) diff --git a/apps/openssl.c b/apps/openssl.c index 6b2c2b9c6b..b426f594b3 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -68,7 +68,7 @@ static int apps_startup(void) | OPENSSL_INIT_LOAD_CONFIG, NULL)) return 0; - setup_ui_method(); + (void)setup_ui_method(); /* * NOTE: This is an undocumented feature required for testing only. diff --git a/test/uitest.c b/test/uitest.c index 289f32b6b0..d45d57d9fb 100644 --- a/test/uitest.c +++ b/test/uitest.c @@ -78,7 +78,7 @@ static int test_new_ui(void) char pass[16]; int ok = 0; - setup_ui_method(); + (void)setup_ui_method(); if (TEST_int_gt(password_callback(pass, sizeof(pass), 0, &cb_data), 0) && TEST_str_eq(pass, cb_data.password)) ok = 1;