diff options
author | Richard Godbee <richard@godbee.net> | 2014-09-21 02:14:11 -0400 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2015-03-10 12:34:21 +0100 |
commit | 5a9e9669d8073ddc5efeea08f3daee42509b2aa7 (patch) | |
tree | 0fa4697d8cdfc8b87ad067ecbc799e516e05d933 /crypto | |
parent | 2b31fcc0b5e7329e13806822a5709dbd51c5c8a4 (diff) |
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)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/bio/bio_cb.c | 9 |
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); |