fix for segfault in rrd_cgi: caused by freeing a invalid address when printing an...
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 6 Jan 2009 14:54:41 +0000 (14:54 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Tue, 6 Jan 2009 14:54:41 +0000 (14:54 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1724 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_cgi.c

index b535541..13b7d06 100644 (file)
@@ -374,6 +374,7 @@ static void calfree(
         if (calcpr) {
             free(calcpr);
         }
         if (calcpr) {
             free(calcpr);
         }
+        calcpr = NULL;
     }
 }
 
     }
 }
 
@@ -953,7 +954,6 @@ char     *drawgraph(
                         DS_NAM_SIZE) * sizeof(char));
             sprintf(err, "[ERROR: %s]", rrd_get_error());
             rrd_clear_error();
                         DS_NAM_SIZE) * sizeof(char));
             sprintf(err, "[ERROR: %s]", rrd_get_error());
             rrd_clear_error();
-            calfree();
             return err;
         }
     }
             return err;
         }
     }