From: FX (fxcoudert_at_gmail.com)
Date: Fri Apr 03 2020 - 10:26:17 CDT

Hi John,

> There was a bug that is fixed in the current src code. I'll get you
> a new tarball shortly if you're not using CVS to stay in sync…

OK thanks, I’ve browsed the cvsweb and found it. I confirm that it fixes the crash.

Still, I believe the code logic is flawed. As I wrote in my original post, centers.num() is guaranteed to return zero in that code. So at the very least, the code is allocating overly large buffers (it’s allocating enough space for all possible points, regardless of the number of actual points).

I see two ways to fix it:

 - instead of centers.num() add a new function to ResizeArray that returns the currently allocated size (private member sz)
 - instead of writing to the float buffer, append the points (the logic in ResizeArray should be enough to make this fast)
 - use a std::vector :)

Cheers,
FX