Code

stop rrd_create from leaking on failure ... vito caputo
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 11 Jul 2007 23:06:00 +0000 (23:06 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 11 Jul 2007 23:06:00 +0000 (23:06 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2/program@1145 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_create.c

index e9ac860dca92c184f1012e5617076933b3dcdb99..16bde5bcad222742bb95c4ed937f22c9def65687 100644 (file)
@@ -558,12 +558,7 @@ rrd_create_fn(const char *file_name, rrd_t *rrd)
 
     if ((rrd_file = fopen(file_name,"wb")) == NULL ) {
        rrd_set_error("creating '%s': %s",file_name, rrd_strerror(errno));
-       free(rrd->stat_head);
-        rrd->stat_head = NULL; 
-       free(rrd->ds_def);
-        rrd->ds_def = NULL; 
-       free(rrd->rra_def);
-        rrd->rra_def = NULL;
+       rrd_free(rrd);
        return(-1);
     }