diff options
author | 2003-07-09 13:58:19 +0000 | |
---|---|---|
committer | 2003-07-09 13:58:19 +0000 | |
commit | dde3770e3aab3c157f8a27883871641843996037 (patch) | |
tree | d2ef3091ff2bca4e13f842a6bcbde74ae8ea6615 | |
parent | - fix lists/displays (diff) | |
download | wireguard-openbsd-dde3770e3aab3c157f8a27883871641843996037.tar.xz wireguard-openbsd-dde3770e3aab3c157f8a27883871641843996037.zip |
minor tweak: when generating the hex fingerprint, give strlcat the full bound to the buffer, and add a comment below explaining why the zero-termination is one less than the bound.
markus@ ok
-rw-r--r-- | usr.bin/ssh/key.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.bin/ssh/key.c b/usr.bin/ssh/key.c index b101e1b271c..54318cbbfa4 100644 --- a/usr.bin/ssh/key.c +++ b/usr.bin/ssh/key.c @@ -32,7 +32,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "includes.h" -RCSID("$OpenBSD: key.c,v 1.53 2003/06/24 08:23:46 markus Exp $"); +RCSID("$OpenBSD: key.c,v 1.54 2003/07/09 13:58:19 avsm Exp $"); #include <openssl/evp.h> @@ -236,8 +236,10 @@ key_fingerprint_hex(u_char *dgst_raw, u_int dgst_raw_len) for (i = 0; i < dgst_raw_len; i++) { char hex[4]; snprintf(hex, sizeof(hex), "%02x:", dgst_raw[i]); - strlcat(retval, hex, dgst_raw_len * 3); + strlcat(retval, hex, dgst_raw_len * 3 + 1); } + + /* Remove the trailing ':' character */ retval[(dgst_raw_len * 3) - 1] = '\0'; return retval; } |