Code

fix for segfault in rrd_cgi: caused by freeing a invalid address when printing an...
[rrdtool.git] / src / rrd_cgi.c
index 7e8aa32253078d8c8b67cd331db957dc95fe3d03..9f0a0bd879afe822e28e9ec759a782955a597bda 100644 (file)
@@ -1,5 +1,5 @@
 /*****************************************************************************
- * RRDtool 1.2.26  Copyright by Tobi Oetiker, 1997-2007
+ * RRDtool 1.2.29  Copyright by Tobi Oetiker, 1997-2008
  *****************************************************************************
  * rrd_cgi.c  RRD Web Page Generator
  *****************************************************************************/
@@ -305,6 +305,7 @@ static void calfree (void){
     if (calcpr) {
            free(calcpr);
     }
+    calcpr=NULL;
   }
 }
 
@@ -778,7 +779,6 @@ char* drawgraph(long argc, const char **args){
       char *err = malloc((strlen(rrd_get_error())+DS_NAM_SIZE)*sizeof(char));
       sprintf(err, "[ERROR: %s]",rrd_get_error());
       rrd_clear_error();
-      calfree();
       return err;
     }
   }