From 7a82f778bd23eec978d57679de48def0e5010284 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Wed, 13 Apr 2016 02:43:45 +0200 Subject: [PATCH] Fix setting of debug callback in apps/enc.c Setting the debug callback on the in and out BIOs were done too early. No debug callback was set on the zlib filter BIO. Reviewed-by: Tim Hudson --- apps/enc.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/apps/enc.c b/apps/enc.c index 77df79d953..7869987bf1 100644 --- a/apps/enc.c +++ b/apps/enc.c @@ -323,13 +323,6 @@ int enc_main(int argc, char **argv) strbuf = app_malloc(SIZE, "strbuf"); buff = app_malloc(EVP_ENCODE_LENGTH(bsize), "evp buffer"); - if (debug) { - BIO_set_callback(in, BIO_debug_callback); - BIO_set_callback(out, BIO_debug_callback); - BIO_set_callback_arg(in, (char *)bio_err); - BIO_set_callback_arg(out, (char *)bio_err); - } - if (infile == NULL) { unbuffer(stdin); in = dup_bio_in(informat); @@ -381,6 +374,13 @@ int enc_main(int argc, char **argv) if (out == NULL) goto end; + if (debug) { + BIO_set_callback(in, BIO_debug_callback); + BIO_set_callback(out, BIO_debug_callback); + BIO_set_callback_arg(in, (char *)bio_err); + BIO_set_callback_arg(out, (char *)bio_err); + } + rbio = in; wbio = out; @@ -388,6 +388,10 @@ int enc_main(int argc, char **argv) if (do_zlib) { if ((bzl = BIO_new(BIO_f_zlib())) == NULL) goto end; + if (debug) { + BIO_set_callback(bzl, BIO_debug_callback); + BIO_set_callback_arg(bzl, (char *)bio_err); + } if (enc) wbio = BIO_push(bzl, wbio); else -- 2.40.0