free the linebuffer if you don't return it!
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Thu, 28 Aug 2008 04:13:39 +0000 (04:13 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Thu, 28 Aug 2008 04:13:39 +0000 (04:13 +0000)
git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1470 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_tool.c

index 80bdb6e..d08d7de 100644 (file)
@@ -369,7 +369,11 @@ static char *fgetslong(
             exit(1);
         }
     }
-    return *aLinePtr = linebuf[0] ? linebuf : 0;
+    if (linebuf[0]){
+        return  *aLinePtr = linebuf;
+    }
+    free(linebuf);
+    return *aLinePtr = 0;
 }
 
 int main(