From d6258dbcac47ea0c5da247a4408331a2c20addc0 Mon Sep 17 00:00:00 2001 From: cancel Date: Sat, 12 Jan 2019 12:52:01 +0900 Subject: [PATCH] Fix incorrect buffer capacity check for sustained notes add --- osc_out.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/osc_out.c b/osc_out.c index bb5ffd7..9a93d6f 100644 --- a/osc_out.c +++ b/osc_out.c @@ -177,8 +177,9 @@ void susnote_list_add_notes(Susnote_list* sl, Susnote const* restrict notes, Usz count = sl->count; Usz cap = sl->capacity; Usz rem = count + added_count; - if (cap < rem) { - cap = rem < 16 ? 16 : orca_round_up_power2(rem); + Usz needed_cap = rem + added_count; + if (cap < needed_cap) { + cap = needed_cap < 16 ? 16 : orca_round_up_power2(needed_cap); buffer = realloc(buffer, cap * sizeof(Susnote)); sl->capacity = cap; sl->buffer = buffer;