diff options
Diffstat (limited to 'key.c')
-rw-r--r-- | key.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -32,7 +32,7 @@ | |||
32 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 32 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
33 | */ | 33 | */ |
34 | #include "includes.h" | 34 | #include "includes.h" |
35 | RCSID("$OpenBSD: key.c,v 1.51 2003/02/12 09:33:04 markus Exp $"); | 35 | RCSID("$OpenBSD: key.c,v 1.54 2003/07/09 13:58:19 avsm Exp $"); |
36 | 36 | ||
37 | #include <openssl/evp.h> | 37 | #include <openssl/evp.h> |
38 | 38 | ||
@@ -169,7 +169,7 @@ key_equal(Key *a, Key *b) | |||
169 | return 0; | 169 | return 0; |
170 | } | 170 | } |
171 | 171 | ||
172 | static u_char * | 172 | u_char* |
173 | key_fingerprint_raw(Key *k, enum fp_type dgst_type, u_int *dgst_raw_length) | 173 | key_fingerprint_raw(Key *k, enum fp_type dgst_type, u_int *dgst_raw_length) |
174 | { | 174 | { |
175 | const EVP_MD *md = NULL; | 175 | const EVP_MD *md = NULL; |
@@ -236,8 +236,10 @@ key_fingerprint_hex(u_char *dgst_raw, u_int dgst_raw_len) | |||
236 | for (i = 0; i < dgst_raw_len; i++) { | 236 | for (i = 0; i < dgst_raw_len; i++) { |
237 | char hex[4]; | 237 | char hex[4]; |
238 | snprintf(hex, sizeof(hex), "%02x:", dgst_raw[i]); | 238 | snprintf(hex, sizeof(hex), "%02x:", dgst_raw[i]); |
239 | strlcat(retval, hex, dgst_raw_len * 3); | 239 | strlcat(retval, hex, dgst_raw_len * 3 + 1); |
240 | } | 240 | } |
241 | |||
242 | /* Remove the trailing ':' character */ | ||
241 | retval[(dgst_raw_len * 3) - 1] = '\0'; | 243 | retval[(dgst_raw_len * 3) - 1] = '\0'; |
242 | return retval; | 244 | return retval; |
243 | } | 245 | } |
@@ -438,7 +440,7 @@ key_read(Key *ret, char **cpp) | |||
438 | xfree(blob); | 440 | xfree(blob); |
439 | return -1; | 441 | return -1; |
440 | } | 442 | } |
441 | k = key_from_blob(blob, n); | 443 | k = key_from_blob(blob, (u_int)n); |
442 | xfree(blob); | 444 | xfree(blob); |
443 | if (k == NULL) { | 445 | if (k == NULL) { |
444 | error("key_read: key_from_blob %s failed", cp); | 446 | error("key_read: key_from_blob %s failed", cp); |
@@ -674,7 +676,7 @@ key_names_valid2(const char *names) | |||
674 | } | 676 | } |
675 | 677 | ||
676 | Key * | 678 | Key * |
677 | key_from_blob(u_char *blob, int blen) | 679 | key_from_blob(u_char *blob, u_int blen) |
678 | { | 680 | { |
679 | Buffer b; | 681 | Buffer b; |
680 | char *ktype; | 682 | char *ktype; |