aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaotisk <kaotisk@arching-kaos.org>2025-04-29 06:42:35 +0300
committerkaotisk <kaotisk@arching-kaos.org>2025-04-29 06:42:35 +0300
commit4661198dabd477c950c3a3fecbde0d62f738ec9d (patch)
tree0386eb57a8b2f2ca210b5e0ecf5f24f6ad62d5c4
parentba63ed7e423982d5bab2ab9ae8f7fda06c8ae7e2 (diff)
downloadarching-kaos-tools-4661198dabd477c950c3a3fecbde0d62f738ec9d.tar.gz
arching-kaos-tools-4661198dabd477c950c3a3fecbde0d62f738ec9d.tar.bz2
arching-kaos-tools-4661198dabd477c950c3a3fecbde0d62f738ec9d.zip
-rw-r--r--c_implementation/src/ak_fs.c2
-rw-r--r--c_implementation/src/ak_fs_main.c4
-rw-r--r--c_implementation/src/ak_fs_map_v3.c5
-rw-r--r--c_implementation/src/ak_fs_sha512sum.c2
4 files changed, 10 insertions, 3 deletions
diff --git a/c_implementation/src/ak_fs.c b/c_implementation/src/ak_fs.c
index 1a9e821..07178bc 100644
--- a/c_implementation/src/ak_fs.c
+++ b/c_implementation/src/ak_fs.c
@@ -340,6 +340,8 @@ int ak_fs_cat_file_from_root_hash(sha512sum* rh)
h_str[128] = '\0';
memcpy(t_str, buffer + 129, 128);
t_str[128] = '\0';
+ fclose(fd);
+ // free(fullpath);
ak_fs_sha512sum_string_to_struct(h_str, &h0.head);
ak_fs_sha512sum_string_to_struct(t_str, &h0.tail);
ak_fs_cat_file_from_root_hash(&h0.head);
diff --git a/c_implementation/src/ak_fs_main.c b/c_implementation/src/ak_fs_main.c
index 6b523c7..b25e308 100644
--- a/c_implementation/src/ak_fs_main.c
+++ b/c_implementation/src/ak_fs_main.c
@@ -33,8 +33,8 @@ int ak_fs_main(int argc, char** argv)
return ak_fs_ls();
case 'C':
ak_fs_map_v3_init(&map);
- ak_fs_sha512sum_string_to_struct(optarg, &map.mh);
- ak_fs_map_v3_open_from_file(&map);
+ if ( ak_fs_sha512sum_string_to_struct(optarg, &map.mh) != 0 ) return -1;
+ if ( ak_fs_map_v3_open_from_file(&map) != 0 ) return -2;
return ak_fs_cfm(&map);
default:
printf("double lol\n");
diff --git a/c_implementation/src/ak_fs_map_v3.c b/c_implementation/src/ak_fs_map_v3.c
index 6774f65..1d3e37e 100644
--- a/c_implementation/src/ak_fs_map_v3.c
+++ b/c_implementation/src/ak_fs_map_v3.c
@@ -1,5 +1,6 @@
#include <stdio.h>
#include <string.h>
+#include <stdlib.h>
#include <libakfs.h>
#include <libaklog.h>
#include <sys/stat.h>
@@ -179,12 +180,14 @@ int ak_fs_map_v3_open_from_file(akfs_map_v3 * map)
{
// perror("fopen");
ak_log_debug(__func__, "File not found or other error");
+ free(full_path);
return 1;
}
struct stat sb;
if (stat(full_path, &sb) == -1) {
perror("stat");
fclose(fd);
+ free(full_path);
return 2;
}
// File size: %lld in bytes: (long long) sb.st_size);
@@ -195,9 +198,11 @@ int ak_fs_map_v3_open_from_file(akfs_map_v3 * map)
{
ak_log_debug(__func__,"conversion failed");
fclose(fd);
+ free(full_path);
return 1;
}
fclose(fd);
+ free(full_path);
return 0;
}
diff --git a/c_implementation/src/ak_fs_sha512sum.c b/c_implementation/src/ak_fs_sha512sum.c
index 6a2ebaa..619269f 100644
--- a/c_implementation/src/ak_fs_sha512sum.c
+++ b/c_implementation/src/ak_fs_sha512sum.c
@@ -40,7 +40,7 @@ void ak_fs_sha512sum_init_avail(sha512sum** m, size_t s)
char* ak_fs_sha512sum_struct_read_as_string(const sha512sum *ptr)
{
- char *str = malloc(129*sizeof(char));
+ static char str[129] = {0}; // = malloc(129*sizeof(char));
ak_fs_sha512sum_struct_to_string(ptr, str);
// ak_log_debug(__func__, str);
return str;