{
BIO *channel;
tracedata *trace_data;
+ BIO *bio = NULL;
if (OSSL_trace_enabled(category))
return;
- channel = BIO_push(BIO_new(BIO_f_prefix()), dup_bio_err(FORMAT_TEXT));
+ bio = BIO_new(BIO_f_prefix());
+ channel = BIO_push(bio, dup_bio_err(FORMAT_TEXT));
trace_data = OPENSSL_zalloc(sizeof(*trace_data));
if (trace_data == NULL
+ || bio == NULL
|| (trace_data->bio = channel) == NULL
|| OSSL_trace_set_callback(category, internal_trace_cb,
trace_data) == 0