Browse Source

Fix incorrect buffer capacity check for sustained notes add

master
cancel 6 years ago
parent
commit
d6258dbcac
  1. 5
      osc_out.c

5
osc_out.c

@ -177,8 +177,9 @@ void susnote_list_add_notes(Susnote_list* sl, Susnote const* restrict notes,
Usz count = sl->count; Usz count = sl->count;
Usz cap = sl->capacity; Usz cap = sl->capacity;
Usz rem = count + added_count; Usz rem = count + added_count;
if (cap < rem) { Usz needed_cap = rem + added_count;
cap = rem < 16 ? 16 : orca_round_up_power2(rem); if (cap < needed_cap) {
cap = needed_cap < 16 ? 16 : orca_round_up_power2(needed_cap);
buffer = realloc(buffer, cap * sizeof(Susnote)); buffer = realloc(buffer, cap * sizeof(Susnote));
sl->capacity = cap; sl->capacity = cap;
sl->buffer = buffer; sl->buffer = buffer;

Loading…
Cancel
Save