From: Richard Godbee Date: Sun, 21 Sep 2014 06:14:11 +0000 (-0400) Subject: BIO_debug_callback: Fix output on 64-bit machines X-Git-Tag: OpenSSL_1_1_0-pre1~1565 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=460e920d8a274e27aab36346eeda6685a42c3314 BIO_debug_callback: Fix output on 64-bit machines BIO_debug_callback() no longer assumes the hexadecimal representation of a pointer fits in 8 characters. Signed-off-by: Richard Levitte Reviewed-by: Matt Caswell --- diff --git a/crypto/bio/bio_cb.c b/crypto/bio/bio_cb.c index 3607375642..dcb428b351 100644 --- a/crypto/bio/bio_cb.c +++ b/crypto/bio/bio_cb.c @@ -70,14 +70,17 @@ long BIO_debug_callback(BIO *bio, int cmd, const char *argp, char buf[256]; char *p; long r = 1; + int len; size_t p_maxlen; if (BIO_CB_RETURN & cmd) r = ret; - BIO_snprintf(buf, sizeof buf, "BIO[%08lX]:", (unsigned long)bio); - p = &(buf[14]); - p_maxlen = sizeof buf - 14; + len = BIO_snprintf(buf,sizeof buf,"BIO[%p]: ",(void *)bio); + + p = buf + len; + p_maxlen = sizeof(buf) - len; + switch (cmd) { case BIO_CB_FREE: BIO_snprintf(p, p_maxlen, "Free - %s\n", bio->method->name);