浏览代码

always zeromem hash_state when done

Kelvin Sherlock 8 年之前
父节点
当前提交
c65d24222e
共有 2 个文件被更改,包括 2 次插入2 次删除
  1. 1 1
      src/hashes/blake2b.c
  2. 1 1
      src/hashes/blake2s.c

+ 1 - 1
src/hashes/blake2b.c

@@ -382,9 +382,9 @@ int blake2b_done(hash_state *md, unsigned char *out)
       STORE64L(md->blake2b.h[i], buffer + i * 8);
 
    XMEMCPY(out, buffer, md->blake2b.outlen);
+   zeromem(md, sizeof(hash_state));
 #ifdef LTC_CLEAN_STACK
    zeromem(buffer, sizeof(buffer));
-   zeromem(md, sizeof(hash_state));
 #endif
    return CRYPT_OK;
 }

+ 1 - 1
src/hashes/blake2s.c

@@ -370,9 +370,9 @@ int blake2s_done(hash_state *md, unsigned char *out)
       STORE32L(md->blake2s.h[i], buffer + i * 4);
 
    XMEMCPY(out, buffer, md->blake2s.outlen);
+   zeromem(md, sizeof(hash_state));
 #ifdef LTC_CLEAN_STACK
    zeromem(buffer, sizeof(buffer));
-   zeromem(md, sizeof(hash_state));
 #endif
    return CRYPT_OK;
 }