diff options
Diffstat (limited to 'key.c')
-rw-r--r-- | key.c | 30 |
1 files changed, 15 insertions, 15 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.45 2002/06/23 03:26:19 deraadt Exp $"); | 35 | RCSID("$OpenBSD: key.c,v 1.49 2002/09/09 14:54:14 markus Exp $"); |
36 | 36 | ||
37 | #include <openssl/evp.h> | 37 | #include <openssl/evp.h> |
38 | 38 | ||
@@ -171,7 +171,7 @@ key_equal(Key *a, Key *b) | |||
171 | return 0; | 171 | return 0; |
172 | } | 172 | } |
173 | 173 | ||
174 | static u_char* | 174 | static u_char * |
175 | key_fingerprint_raw(Key *k, enum fp_type dgst_type, u_int *dgst_raw_length) | 175 | key_fingerprint_raw(Key *k, enum fp_type dgst_type, u_int *dgst_raw_length) |
176 | { | 176 | { |
177 | const EVP_MD *md = NULL; | 177 | const EVP_MD *md = NULL; |
@@ -227,8 +227,8 @@ key_fingerprint_raw(Key *k, enum fp_type dgst_type, u_int *dgst_raw_length) | |||
227 | return retval; | 227 | return retval; |
228 | } | 228 | } |
229 | 229 | ||
230 | static char* | 230 | static char * |
231 | key_fingerprint_hex(u_char* dgst_raw, u_int dgst_raw_len) | 231 | key_fingerprint_hex(u_char *dgst_raw, u_int dgst_raw_len) |
232 | { | 232 | { |
233 | char *retval; | 233 | char *retval; |
234 | int i; | 234 | int i; |
@@ -244,8 +244,8 @@ key_fingerprint_hex(u_char* dgst_raw, u_int dgst_raw_len) | |||
244 | return retval; | 244 | return retval; |
245 | } | 245 | } |
246 | 246 | ||
247 | static char* | 247 | static char * |
248 | key_fingerprint_bubblebabble(u_char* dgst_raw, u_int dgst_raw_len) | 248 | key_fingerprint_bubblebabble(u_char *dgst_raw, u_int dgst_raw_len) |
249 | { | 249 | { |
250 | char vowels[] = { 'a', 'e', 'i', 'o', 'u', 'y' }; | 250 | char vowels[] = { 'a', 'e', 'i', 'o', 'u', 'y' }; |
251 | char consonants[] = { 'b', 'c', 'd', 'f', 'g', 'h', 'k', 'l', 'm', | 251 | char consonants[] = { 'b', 'c', 'd', 'f', 'g', 'h', 'k', 'l', 'm', |
@@ -291,7 +291,7 @@ key_fingerprint_bubblebabble(u_char* dgst_raw, u_int dgst_raw_len) | |||
291 | return retval; | 291 | return retval; |
292 | } | 292 | } |
293 | 293 | ||
294 | char* | 294 | char * |
295 | key_fingerprint(Key *k, enum fp_type dgst_type, enum fp_rep dgst_rep) | 295 | key_fingerprint(Key *k, enum fp_type dgst_type, enum fp_rep dgst_rep) |
296 | { | 296 | { |
297 | char *retval = NULL; | 297 | char *retval = NULL; |
@@ -494,7 +494,8 @@ key_write(Key *key, FILE *f) | |||
494 | { | 494 | { |
495 | int n, success = 0; | 495 | int n, success = 0; |
496 | u_int len, bits = 0; | 496 | u_int len, bits = 0; |
497 | u_char *blob, *uu; | 497 | u_char *blob; |
498 | char *uu; | ||
498 | 499 | ||
499 | if (key->type == KEY_RSA1 && key->rsa != NULL) { | 500 | if (key->type == KEY_RSA1 && key->rsa != NULL) { |
500 | /* size of modulus 'n' */ | 501 | /* size of modulus 'n' */ |
@@ -729,7 +730,6 @@ key_to_blob(Key *key, u_char **blobp, u_int *lenp) | |||
729 | { | 730 | { |
730 | Buffer b; | 731 | Buffer b; |
731 | int len; | 732 | int len; |
732 | u_char *buf; | ||
733 | 733 | ||
734 | if (key == NULL) { | 734 | if (key == NULL) { |
735 | error("key_to_blob: key == NULL"); | 735 | error("key_to_blob: key == NULL"); |
@@ -755,14 +755,14 @@ key_to_blob(Key *key, u_char **blobp, u_int *lenp) | |||
755 | return 0; | 755 | return 0; |
756 | } | 756 | } |
757 | len = buffer_len(&b); | 757 | len = buffer_len(&b); |
758 | buf = xmalloc(len); | ||
759 | memcpy(buf, buffer_ptr(&b), len); | ||
760 | memset(buffer_ptr(&b), 0, len); | ||
761 | buffer_free(&b); | ||
762 | if (lenp != NULL) | 758 | if (lenp != NULL) |
763 | *lenp = len; | 759 | *lenp = len; |
764 | if (blobp != NULL) | 760 | if (blobp != NULL) { |
765 | *blobp = buf; | 761 | *blobp = xmalloc(len); |
762 | memcpy(*blobp, buffer_ptr(&b), len); | ||
763 | } | ||
764 | memset(buffer_ptr(&b), 0, len); | ||
765 | buffer_free(&b); | ||
766 | return len; | 766 | return len; |
767 | } | 767 | } |
768 | 768 | ||