From d32b28a307b308e5b5b052b4eb2a2c8f396c380b Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 13 Jun 2008 04:45:50 +1000 Subject: - grunk@cvs.openbsd.org 2008/06/11 23:51:57 [key.c] #define statements that are not atoms need braces around them, else they will cause trouble in some cases. Also do a computation of -1 once, and not in a loop several times. spotted by otto@ --- ChangeLog | 8 +++++++- key.c | 10 +++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3e7f20152..c62492eb1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -41,6 +41,12 @@ [ssh_config.5] CheckHostIP set to ``fingerprint'' will display both hex and random art spotted by naddy@ + - grunk@cvs.openbsd.org 2008/06/11 23:51:57 + [key.c] + #define statements that are not atoms need braces around them, else they + will cause trouble in some cases. + Also do a computation of -1 once, and not in a loop several times. + spotted by otto@ 20080611 - (djm) [channels.c configure.ac] @@ -4203,4 +4209,4 @@ OpenServer 6 and add osr5bigcrypt support so when someone migrates passwords between UnixWare and OpenServer they will still work. OK dtucker@ -$Id: ChangeLog,v 1.4973 2008/06/12 18:44:25 dtucker Exp $ +$Id: ChangeLog,v 1.4974 2008/06/12 18:45:50 dtucker Exp $ diff --git a/key.c b/key.c index 80ce855d8..ef047463b 100644 --- a/key.c +++ b/key.c @@ -1,4 +1,4 @@ -/* $OpenBSD: key.c,v 1.71 2008/06/11 23:02:22 otto Exp $ */ +/* $OpenBSD: key.c,v 1.72 2008/06/11 23:51:57 grunk Exp $ */ /* * read_bignum(): * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -319,8 +319,8 @@ key_fingerprint_bubblebabble(u_char *dgst_raw, u_int dgst_raw_len) * Graphs are not unambiguous, because circles in graphs can be * walked in either direction. */ -#define FLDSIZE_Y 8 -#define FLDSIZE_X FLDSIZE_Y * 2 +#define FLDSIZE_Y 8 +#define FLDSIZE_X (FLDSIZE_Y * 2) static char * key_fingerprint_randomart(u_char *dgst_raw, u_int dgst_raw_len) { @@ -333,7 +333,7 @@ key_fingerprint_randomart(u_char *dgst_raw, u_int dgst_raw_len) u_char field[FLDSIZE_X][FLDSIZE_Y]; u_int i, b; int x, y; - size_t len = strlen(augmentation_string); + size_t len = strlen(augmentation_string) - 1; retval = xcalloc(1, (FLDSIZE_X + 3) * (FLDSIZE_Y + 2)); @@ -379,7 +379,7 @@ key_fingerprint_randomart(u_char *dgst_raw, u_int dgst_raw_len) for (y = 0; y < FLDSIZE_Y; y++) { *p++ = '|'; for (x = 0; x < FLDSIZE_X; x++) - *p++ = augmentation_string[MIN(field[x][y], len - 1)]; + *p++ = augmentation_string[MIN(field[x][y], len)]; *p++ = '|'; *p++ = '\n'; } -- cgit v1.2.3