This is the generally preferred way of doing this that avoids various pitfalls,
such as integer overflow during multiplication.
free(rv);
return NULL;
}
- rv->P = malloc(n * sizeof(Ppoint_t));
+ rv->P = calloc(n, sizeof(Ppoint_t));
assert(n_obs >= 0);
- rv->start = malloc(((size_t)n_obs + 1) * sizeof(int));
- rv->next = malloc(n * sizeof(int));
- rv->prev = malloc(n * sizeof(int));
+ rv->start = calloc((size_t)n_obs + 1, sizeof(int));
+ rv->next = calloc(n, sizeof(int));
+ rv->prev = calloc(n, sizeof(int));
rv->N = (int)n;
rv->Npoly = n_obs;