From dedda3f2f44c853bd670f1b3d581197607d1d5ed Mon Sep 17 00:00:00 2001 From: kremlin Date: Fri, 19 Sep 2014 22:06:17 -0400 Subject: [PATCH] garbage collect and fix bad parameter in Squeeze() --- DH-Keccak/assets/KremKeccak/krem_keccak.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/DH-Keccak/assets/KremKeccak/krem_keccak.c b/DH-Keccak/assets/KremKeccak/krem_keccak.c index 7a64c05..08b8e52 100644 --- a/DH-Keccak/assets/KremKeccak/krem_keccak.c +++ b/DH-Keccak/assets/KremKeccak/krem_keccak.c @@ -55,8 +55,8 @@ int main(int argc, char *argv[]) { exit(1); } - input_buf = calloc(1, (size_t) input_stat.st_size); - output_buf = calloc(1, (size_t) 64); + input_buf = calloc(input_stat.st_size, sizeof(unsigned char)); + output_buf = calloc(64, sizeof(unsigned char)); if( ! (input_bytes_read = fread(input_buf, 1, (size_t)input_stat.st_size, input))) { @@ -66,12 +66,12 @@ int main(int argc, char *argv[]) { fclose(input); - if(Absorb(state, input_buf, (unsigned long long) (8 * input_stat.st_size))) { + if(Absorb(state, input_buf, 8 * (unsigned long long) input_stat.st_size)) { printf("encryption failure\n"); exit(1); - } else if(Squeeze(state, output_buf, (unsigned long long) (8 * input_stat.st_size))) { + } else if(Squeeze(state, output_buf, 512)) { printf("decryption failure\n"); exit(1); @@ -82,6 +82,8 @@ int main(int argc, char *argv[]) { printf("%x%x", HI_NIBBLE(output_buf[i]), LO_NIBBLE(output_buf[i])); free(state); + free(input_buf); + free(output_buf); return 0; } -- 2.41.0