From 9c78331ef2ebe2f1dcef886b0043431469bc1a29 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sun, 17 Sep 2023 23:38:46 +0200 Subject: Fixed various memory leaks --- src/utils.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) (limited to 'src/utils.c') diff --git a/src/utils.c b/src/utils.c index e0d3268..354e9b0 100644 --- a/src/utils.c +++ b/src/utils.c @@ -3,8 +3,8 @@ void apply_permutation(int *perm, int *set, int n) { - int *aux = malloc(n * sizeof(int)); int i; + int aux[n]; if (!is_perm(perm, n)) return; @@ -13,7 +13,6 @@ apply_permutation(int *perm, int *set, int n) aux[i] = set[perm[i]]; memcpy(set, aux, n * sizeof(int)); - free(aux); } int @@ -53,8 +52,8 @@ factorial(int n) void index_to_perm(int p, int n, int *r) { - int *a = malloc(n * sizeof(int)); int i, j, c; + int a[n]; for (i = 0; i < n; i++) a[i] = 0; @@ -72,8 +71,6 @@ index_to_perm(int p, int n, int *r) a[j-1] = 1; p %= factorial(n-i-1); } - - free(a); } void @@ -143,22 +140,22 @@ int_to_sum_zero_array(int x, int b, int n, int *a) int invert_digits(int a, int b, int n) { - int i, ret, *r = malloc(n * sizeof(int)); + int i, ret; + int r[n]; int_to_digit_array(a, b, n, r); for (i = 0; i < n; i++) r[i] = (b-r[i]) % b; ret = digit_array_to_int(r, n, b); - free(r); return ret; } bool is_perm(int *a, int n) { - int *aux = malloc(n * sizeof(int)); int i; + int aux[n]; for (i = 0; i < n; i++) aux[i] = 0; @@ -174,8 +171,6 @@ is_perm(int *a, int n) if (!aux[i]) return false; - free(aux); - return true; } -- cgit v1.3