diff options
| author | ame <[email protected]> | 2024-04-05 13:12:50 -0500 |
|---|---|---|
| committer | ame <[email protected]> | 2024-04-05 13:12:50 -0500 |
| commit | 7e6d58c143e1f3b1384ca2e798825ff3ed9469ec (patch) | |
| tree | 7308903e7962fe2bfb0cf2461779e68d6da264ff /src/hash/sha01.c | |
| parent | ed04c58675cfaf41b14958141f13c6a94b2d1a23 (diff) | |
fixes n stuff:3
Diffstat (limited to 'src/hash/sha01.c')
| -rw-r--r-- | src/hash/sha01.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/hash/sha01.c b/src/hash/sha01.c index 81a19d6..72932ff 100644 --- a/src/hash/sha01.c +++ b/src/hash/sha01.c @@ -88,7 +88,7 @@ void sha01_update(uint8_t* input, size_t len, struct sha01_hash* hash){ for(; total_add >= bs;){ memcpy(hash->buffer + hash->bufflen, input + read, bs - hash->bufflen); - total_add -= bs - hash->bufflen; + total_add -= bs; hash->bufflen = 0; read += bs; sha01_round(hash); @@ -96,9 +96,9 @@ void sha01_update(uint8_t* input, size_t len, struct sha01_hash* hash){ memset(hash->buffer, 0, bs); - if(read != total_add){ - memcpy(hash->buffer, input + read, total_add - read); - hash->bufflen = total_add - read; + if(0 != total_add){ + memcpy(hash->buffer, input + read, total_add); + hash->bufflen = total_add; } } @@ -107,7 +107,9 @@ void sha01_final(struct sha01_hash* hash, char* out_stream){ if(hash->bufflen > 55) { //too large, needs another buffer + memset(hash->buffer + hash->bufflen + 1, 0, 64 - hash->bufflen); sha01_round(hash); + memset(hash->buffer, 0, 64); } size_t lhhh = 8*hash->total; @@ -182,7 +184,7 @@ int l_sha1(lua_State* L){ char digest[160]; - sha1(a, len, digest); + sha1((uint8_t*)a, len, digest); lua_pushstring(L, digest); return 1; @@ -195,7 +197,7 @@ int l_sha0(lua_State* L){ char digest[160]; - sha0(a, len, digest); + sha0((uint8_t*)a, len, digest); lua_pushstring(L, digest); return 1; |
