summaryrefslogtreecommitdiff
path: root/signkey.c
diff options
context:
space:
mode:
authorMatt Johnston <matt@ucc.asn.au>2005-07-08 11:30:54 +0000
committerMatt Johnston <matt@ucc.asn.au>2005-07-08 11:30:54 +0000
commite34e3be1ccb7cd4620c1f08a4c8aa6636d475108 (patch)
treeca1be6d4b9d587dd156776287c2f4816a6a7131b /signkey.c
parent115ecf80581da8746adada8ebed0a726d88b46ec (diff)
downloaddropbear-e34e3be1ccb7cd4620c1f08a4c8aa6636d475108.tar.gz
Change the format of for loops, gcc4 produces incorrect binaries with
the previous code.
Diffstat (limited to 'signkey.c')
-rw-r--r--signkey.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/signkey.c b/signkey.c
index b6b8bdc..8dee10b 100644
--- a/signkey.c
+++ b/signkey.c
@@ -279,7 +279,7 @@ static char * sign_key_md5_fingerprint(unsigned char* keyblob,
char * ret;
hash_state hs;
unsigned char hash[MD5_HASH_SIZE];
- unsigned int h, i;
+ unsigned int i;
unsigned int buflen;
md5_init(&hs);
@@ -296,10 +296,11 @@ static char * sign_key_md5_fingerprint(unsigned char* keyblob,
memset(ret, 'Z', buflen);
strcpy(ret, "md5 ");
- for (i = 4, h = 0; i < buflen; i+=3, h++) {
- ret[i] = hexdig(hash[h] >> 4);
- ret[i+1] = hexdig(hash[h] & 0x0f);
- ret[i+2] = ':';
+ for (i = 0; i < MD5_HASH_SIZE; i++) {
+ unsigned int pos = 4 + i*3;
+ ret[pos] = hexdig(hash[i] >> 4);
+ ret[pos+1] = hexdig(hash[i] & 0x0f);
+ ret[pos+2] = ':';
}
ret[buflen-1] = 0x0;
@@ -313,7 +314,7 @@ static char * sign_key_sha1_fingerprint(unsigned char* keyblob,
char * ret;
hash_state hs;
unsigned char hash[SHA1_HASH_SIZE];
- unsigned int h, i;
+ unsigned int i;
unsigned int buflen;
sha1_init(&hs);
@@ -329,10 +330,11 @@ static char * sign_key_sha1_fingerprint(unsigned char* keyblob,
strcpy(ret, "sha1 ");
- for (i = 5, h = 0; i < buflen; i+=3, h++) {
- ret[i] = hexdig(hash[h] >> 4);
- ret[i+1] = hexdig(hash[h] & 0x0f);
- ret[i+2] = ':';
+ for (i = 0; i < SHA1_HASH_SIZE; i++) {
+ unsigned int pos = 5 + 3*i;
+ ret[pos] = hexdig(hash[i] >> 4);
+ ret[pos+1] = hexdig(hash[i] & 0x0f);
+ ret[pos+2] = ':';
}
ret[buflen-1] = 0x0;