diff options
author | kaotisk <kaotisk@arching-kaos.org> | 2025-03-28 17:13:34 +0200 |
---|---|---|
committer | kaotisk <kaotisk@arching-kaos.org> | 2025-03-28 17:13:34 +0200 |
commit | 24142c94ca1fe2c350172e529d0ac9b4001e9307 (patch) | |
tree | e9b438be202f3f99b494b9a153cdb9cec181bece /src | |
parent | 50502ec2b41733ba5f152cbde457f6cb66e588c6 (diff) | |
download | arching-kaos-tools-24142c94ca1fe2c350172e529d0ac9b4001e9307.tar.gz arching-kaos-tools-24142c94ca1fe2c350172e529d0ac9b4001e9307.tar.bz2 arching-kaos-tools-24142c94ca1fe2c350172e529d0ac9b4001e9307.zip |
Avoiding malloc/free combo by providing a pointer to the function
Diffstat (limited to 'src')
-rw-r--r-- | src/akfs.c | 4 | ||||
-rw-r--r-- | src/include/akfs.h | 2 | ||||
-rw-r--r-- | src/tests/test_akfs.c | 27 |
3 files changed, 14 insertions, 19 deletions
@@ -258,9 +258,8 @@ sha512sum ak_fs_sha512sum_string_to_struct(char* string) } } -char* ak_fs_sha512sum_struct_to_string(sha512sum hash) +void ak_fs_sha512sum_struct_to_string(sha512sum hash, char* string) { - char *string = malloc(129); int counter = 0; for (size_t i = 0; i < 8; ++i) { @@ -324,5 +323,4 @@ char* ak_fs_sha512sum_struct_to_string(sha512sum hash) } } string[128] = '\0'; - return string; } diff --git a/src/include/akfs.h b/src/include/akfs.h index 1a574af..5cbcdae 100644 --- a/src/include/akfs.h +++ b/src/include/akfs.h @@ -19,7 +19,7 @@ int ak_fs_create_dir_for_hash(char*); sha512sum ak_fs_sha512sum_string_to_struct(char*); -char* ak_fs_sha512sum_struct_to_string(sha512sum); +void ak_fs_sha512sum_struct_to_string(sha512sum, char*); #endif // AKFS diff --git a/src/tests/test_akfs.c b/src/tests/test_akfs.c index 5e2c6ad..079c00c 100644 --- a/src/tests/test_akfs.c +++ b/src/tests/test_akfs.c @@ -10,7 +10,8 @@ void correct_string_correct_length() // printf("Hash given:\t%s\n", queried_string); // printf("Is a hash: %s\n", ak_fs_verify_input_is_hash(queried_string) ? "true": "false"); sha512sum resulted_hash = ak_fs_sha512sum_string_to_struct(queried_string); - char* resulted_string = ak_fs_sha512sum_struct_to_string(resulted_hash); + char resulted_string[129] = {0}; + ak_fs_sha512sum_struct_to_string(resulted_hash, resulted_string); // printf("Hash returned:\t%s\n", resulted_string); if ( strcmp(queried_string, resulted_string) == 0 ) { @@ -20,7 +21,6 @@ void correct_string_correct_length() { printf("NO PASS :(\n"); } - free(resulted_string); } void bad_string_correct_length() @@ -30,7 +30,8 @@ void bad_string_correct_length() // printf("Hash given:\t%s\n", queried_string); // printf("Is a hash: %s\n", ak_fs_verify_input_is_hash(queried_string) ? "true": "false"); sha512sum resulted_hash = ak_fs_sha512sum_string_to_struct(queried_string); - char* resulted_string = ak_fs_sha512sum_struct_to_string(resulted_hash); + char resulted_string[129] = {0}; + ak_fs_sha512sum_struct_to_string(resulted_hash, resulted_string); // printf("Hash returned:\t%s\n", resulted_string); if ( strcmp(queried_string, resulted_string) != 0 ) { @@ -40,7 +41,6 @@ void bad_string_correct_length() { printf("NO PASS :(\n"); } - free(resulted_string); } void less_than_length() @@ -50,7 +50,8 @@ void less_than_length() // printf("Hash given:\t%s\n", queried_string); // printf("Is a hash: %s\n", ak_fs_verify_input_is_hash(queried_string) ? "true": "false"); sha512sum resulted_hash = ak_fs_sha512sum_string_to_struct(queried_string); - char* resulted_string = ak_fs_sha512sum_struct_to_string(resulted_hash); + char resulted_string[129] = {0}; + ak_fs_sha512sum_struct_to_string(resulted_hash, resulted_string); // printf("Hash returned:\t%s\n", resulted_string); if ( strcmp(queried_string, resulted_string) != 0 ) { @@ -60,7 +61,6 @@ void less_than_length() { printf("\tNO PASS :(\n"); } - free(resulted_string); } void more_than_length() @@ -70,7 +70,8 @@ void more_than_length() // printf("Hash given:\t%s\n", queried_string); // printf("Is a hash: %s\n", ak_fs_verify_input_is_hash(queried_string) ? "true": "false"); sha512sum resulted_hash = ak_fs_sha512sum_string_to_struct(queried_string); - char* resulted_string = ak_fs_sha512sum_struct_to_string(resulted_hash); + char resulted_string[129] = {0}; + ak_fs_sha512sum_struct_to_string(resulted_hash, resulted_string); // printf("Hash returned:\t%s\n", resulted_string); if ( strcmp(queried_string, resulted_string) != 0 ) { @@ -80,7 +81,6 @@ void more_than_length() { printf("\tNO PASS :(\n"); } - free(resulted_string); } void string_is_empty() @@ -90,7 +90,8 @@ void string_is_empty() // printf("Hash given:\t%s\n", queried_string); //printf("Is a hash: %s\n", ak_fs_verify_input_is_hash(queried_string) ? "true": "false"); sha512sum resulted_hash = ak_fs_sha512sum_string_to_struct(queried_string); - char* resulted_string = ak_fs_sha512sum_struct_to_string(resulted_hash); + char resulted_string[129] = {0}; + ak_fs_sha512sum_struct_to_string(resulted_hash, resulted_string); // printf("Hash returned:\t%s\n", resulted_string); if ( strcmp(queried_string, resulted_string) != 0 ) { @@ -100,7 +101,6 @@ void string_is_empty() { printf("\t\tNO PASS :(\n"); } - free(resulted_string); } void hash_path_test() @@ -119,7 +119,6 @@ void hash_path_test() { printf("\t\tNO PASS :(\n"); } - free(resulted_string); } void hash_dir_test() @@ -138,7 +137,6 @@ void hash_dir_test() { printf("\t\tNO PASS :(\n"); } - free(resulted_string); } void hash_save_to_file() @@ -156,7 +154,6 @@ void hash_save_to_file() } fwrite(&resulted_hash, sizeof(sha512sum),1,fd); fclose(fd); - sha512sum readone = {0}; fd = fopen("tmpfile", "rb"); if ( fd == NULL ) @@ -165,8 +162,8 @@ void hash_save_to_file() exit(1); } fread (&readone, sizeof(sha512sum),1,fd); - char* resulted_string = ak_fs_sha512sum_struct_to_string(readone); - + char resulted_string[129] = {0}; + ak_fs_sha512sum_struct_to_string(resulted_hash, resulted_string); if ( strcmp(queried_string, resulted_string) == 0 ) { printf("\tPASS!\n"); |