From: Richard Levitte Date: Tue, 19 Jul 2016 06:57:01 +0000 (+0200) Subject: Have 'openssl engine' exit with non-zero when some engine fails to load X-Git-Tag: OpenSSL_1_1_0~291 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=9e64457d1ed6200228a930ab14c5c5e68a666d1e;p=oweals%2Fopenssl.git Have 'openssl engine' exit with non-zero when some engine fails to load Reviewed-by: Rich Salz --- diff --git a/apps/engine.c b/apps/engine.c index c98839a9fc..ffd3137426 100644 --- a/apps/engine.c +++ b/apps/engine.c @@ -342,6 +342,7 @@ int engine_main(int argc, char **argv) } } + ret = 0; for (i = 0; i < sk_OPENSSL_CSTRING_num(engines); i++) { const char *id = sk_OPENSSL_CSTRING_value(engines, i); if ((e = ENGINE_by_id(id)) != NULL) { @@ -424,11 +425,14 @@ int engine_main(int argc, char **argv) if ((verbose > 0) && !util_verbose(e, verbose, out, indent)) goto end; ENGINE_free(e); - } else + } else { ERR_print_errors(bio_err); + /* because exit codes above 127 have special meaning on Unix */ + if (++ret > 127) + ret = 127; + } } - ret = 0; end: ERR_print_errors(bio_err);