summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Godbee <richard@godbee.net>2014-09-21 02:14:11 -0400
committerRichard Levitte <levitte@openssl.org>2015-03-10 12:34:27 +0100
commit93cb447df263a0ba91c09be679eef6b1523df4f4 (patch)
treef3903ac127a26d3598a068a4d1a7534e59d54e81
parent521246e6085d5e1530c58ab8a50ce898d280ceed (diff)
downloadopenssl-new-93cb447df263a0ba91c09be679eef6b1523df4f4.tar.gz
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 <levitte@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (cherry picked from commit 460e920d8a274e27aab36346eeda6685a42c3314)
-rw-r--r--crypto/bio/bio_cb.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/crypto/bio/bio_cb.c b/crypto/bio/bio_cb.c
index 8715f5cbcb..d3e860686c 100644
--- a/crypto/bio/bio_cb.c
+++ b/crypto/bio/bio_cb.c
@@ -70,14 +70,17 @@ long MS_CALLBACK BIO_debug_callback(BIO *bio, int cmd, const char *argp,
MS_STATIC 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);