X-Git-Url: https://git.cworth.org/git?p=mnemon;a=blobdiff_plain;f=mnemon.c;h=25ba65fac17040f6b6600c6defa9d0bebcf1638f;hp=737298ed045f4877765118845e2626050ec816bc;hb=32442590b9ba9dcf60e15a5248cf2d15e66d458e;hpb=abd2230ad0fc47109cbc97a767b87e70f459b053 diff --git a/mnemon.c b/mnemon.c index 737298e..25ba65f 100644 --- a/mnemon.c +++ b/mnemon.c @@ -366,12 +366,14 @@ mnemon_get_bin (mnemon_t *mnemon, else if (mnemon->bins[i].count > count) break; - mnemon_bins_grow (mnemon); + if (mnemon->num_bins == mnemon->bins_size) + mnemon_bins_grow (mnemon); bin = &mnemon->bins[i]; /* Make room to insert new bin at its sorted location. */ - memmove (bin + 1, bin, (mnemon->num_bins - i) * sizeof (bin_t)); + if (i < mnemon->num_bins) + memmove (bin + 1, bin, (mnemon->num_bins - i) * sizeof (bin_t)); mnemon->num_bins++; bin_init (bin, count);