`calloc(1, offsetof(struct bla, array[count]))`
That's not how the C standard shows how you should allocate struct with flexible member. This is the example:
```c int m = /* some value */; struct s *p = malloc(sizeof(struct s) + sizeof(double [m])); ```
* * *
I think worst case here is we would allocate a few more bytes?