- new = xmalloc(sizeof(*orig) + sizeof(struct spanhash) * sz);
- new->alloc_log2 = orig->alloc_log2 + 1;
- new->free = INITIAL_FREE(new->alloc_log2);
- memset(new->data, 0, sizeof(struct spanhash) * sz);
+ new_spanhash = xmalloc(st_add(sizeof(*orig),
+ st_mult(sizeof(struct spanhash), sz)));
+ new_spanhash->alloc_log2 = orig->alloc_log2 + 1;
+ new_spanhash->free = INITIAL_FREE(new_spanhash->alloc_log2);
+ memset(new_spanhash->data, 0, sizeof(struct spanhash) * sz);