X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=sshsh256.c;fp=sshsh256.c;h=76b77efe2943bbb3eaa4ddabc71f2c6eaa200eb5;hb=16c46ecdaf71e4c9dddcd933778f02d78425f6a5;hp=fdc8a3a52b7537ccbc78b30f56b54ff9a3849fea;hpb=9d5a16402168f82ba1bd695c3e95bb4812ccd0a9;p=PuTTY.git diff --git a/sshsh256.c b/sshsh256.c index fdc8a3a5..76b77efe 100644 --- a/sshsh256.c +++ b/sshsh256.c @@ -184,6 +184,7 @@ void SHA256_Simple(const void *p, int len, unsigned char *output) { SHA256_Init(&s); SHA256_Bytes(&s, p, len); SHA256_Final(&s, output); + smemclr(&s, sizeof(s)); } /* @@ -211,6 +212,7 @@ static void sha256_final(void *handle, unsigned char *output) SHA256_State *s = handle; SHA256_Final(s, output); + smemclr(s, sizeof(*s)); sfree(s); } @@ -230,6 +232,7 @@ static void *sha256_make_context(void) static void sha256_free_context(void *handle) { + smemclr(handle, 3 * sizeof(SHA256_State)); sfree(handle); }