- } else {
- /* the size of the new file */
- rrdnew.stat_head = rrd_file->file_len +
- (rrdold.stat_head->ds_cnt * sizeof(rrd_value_t) * modify);
+ /* the size of the new file */
+ /* yes we are abusing the float cookie for this, aargh */
+ if ((rrdnew.stat_head = calloc(1, sizeof(stat_head_t))) == NULL) {
+ rrd_set_error("allocating stat_head for new RRD");
+ rrd_free(&rrdold);
+ rrd_close(rrd_file);
+ return (-1);