--- src/mn-client-session.c.orig 2012-04-05 16:13:12.078530159 +0200 +++ src/mn-client-session.c 2012-04-05 16:18:30.823859820 +0200 @@ -679,7 +679,7 @@ else { unsigned char md5sum[16]; - unsigned char fingerprint[40]; + unsigned char fingerprint[49]; int md5len; int i; unsigned char *f; @@ -687,6 +687,7 @@ /* calculate the MD5 hash of the raw certificate */ md5len = sizeof(md5sum); X509_digest(cert, EVP_md5(), md5sum, &md5len); + memset(fingerprint, 0, sizeof(fingerprint)); for (i = 0, f = fingerprint; i < 16; i++, f += 3) sprintf(f, "%.2x%c", md5sum[i], i != 15 ? ':' : '\0');