summaryrefslogtreecommitdiff
path: root/key.c
diff options
context:
space:
mode:
Diffstat (limited to 'key.c')
-rw-r--r--key.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/key.c b/key.c
index 060b63745..54318cbbf 100644
--- a/key.c
+++ b/key.c
@@ -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"
35RCSID("$OpenBSD: key.c,v 1.51 2003/02/12 09:33:04 markus Exp $"); 35RCSID("$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
172static u_char * 172u_char*
173key_fingerprint_raw(Key *k, enum fp_type dgst_type, u_int *dgst_raw_length) 173key_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
676Key * 678Key *
677key_from_blob(u_char *blob, int blen) 679key_from_blob(u_char *blob, u_int blen)
678{ 680{
679 Buffer b; 681 Buffer b;
680 char *ktype; 682 char *ktype;