From 90a2acc2f0c9d3904e1dea737e45ef6b10f96a22 Mon Sep 17 00:00:00 2001 From: ame Date: Thu, 13 Jun 2024 00:01:51 -0500 Subject: working on deepcopy ub --- src/hash/md5.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/hash/md5.c') diff --git a/src/hash/md5.c b/src/hash/md5.c index 2e6ad98..78211cd 100644 --- a/src/hash/md5.c +++ b/src/hash/md5.c @@ -106,6 +106,7 @@ void md5_update(uint8_t* input, size_t len, struct md5_hash* hash){ void md5_final(struct md5_hash* hash, char out_stream[64]){ uint8_t old[bs]; struct md5_hash old_hash; + memcpy(&old_hash, hash, sizeof * hash); memcpy(old, hash->buffer, bs); @@ -119,7 +120,8 @@ void md5_final(struct md5_hash* hash, char out_stream[64]){ } uint32_t lhhh = 8*hash->total; - memcpy(hash->buffer + 56, &lhhh, sizeof(lhhh)); + memcpy(hash->buffer + 56, &lhhh, 4); + md5_round(hash); sprintf(out_stream,"%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x%2.2x", -- cgit v1.2.3