diff options
| -rw-r--r-- | src/ds/array.c | 3 | ||||
| -rw-r--r-- | src/tester.c | 5 |
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; } } |
