aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ds/array.c3
-rw-r--r--src/tester.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/src/ds/array.c b/src/ds/array.c
index e8dbeec..e17e1fe 100644
--- a/src/ds/array.c
+++ b/src/ds/array.c
@@ -46,7 +46,8 @@ void *expand(void *arr, size_t min_cap, size_t el_size) {
!*(void**)p_arr ? *(void **)p_arr = init(el_size) : 0; \
MosArrHeader *hdr = arr2hdr(*(void**)p_arr); \
*(void **)p_arr = expand(*(void**)p_arr, min_cap, el_size); \
- void *arr = *(void **)p_arr
+ void *arr = *(void **)p_arr; \
+ hdr = arr2hdr(arr)
// clang-format on
void mos_arr_append_fn(void *p_arr, size_t el_size) {
diff --git a/src/tester.c b/src/tester.c
index 43efa07..280eed1 100644
--- a/src/tester.c
+++ b/src/tester.c
@@ -132,8 +132,8 @@ void mos_suppress_output(FILE **out) {
if (!suppressed.outs || suppressed.n_outs >= suppressed.out_cap) {
while (suppressed.n_outs >= suppressed.out_cap)
suppressed.out_cap *= 2;
- suppressed.outs = mos_safe_realloc(suppressed.outs, suppressed.out_cap);
- suppressed.ogs = mos_safe_realloc(suppressed.ogs, suppressed.out_cap);
+ suppressed.outs = mos_safe_realloc(suppressed.outs, suppressed.out_cap * sizeof(FILE **));
+ suppressed.ogs = mos_safe_realloc(suppressed.ogs, suppressed.out_cap * sizeof(FILE *));
}
suppressed.outs[suppressed.n_outs] = out;
suppressed.ogs[suppressed.n_outs++] = *out;
@@ -234,6 +234,7 @@ void mos_free_tester(MosTester *tester) {
}
if (suppressed.outs) {
free(suppressed.outs);
+ free(suppressed.ogs);
suppressed.n_outs = 0;
}
}