X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Frrd_tool.c;fp=src%2Frrd_tool.c;h=80bdb6e70c399a662b9ef1c7f7aaae7d022453f6;hb=f96b3d44b77a03ed47318aacfd246232fd24b099;hp=f536fa517926a15d60791b888fad285a08ab342f;hpb=728d3d0bb29ba4a73b9c7c19f03e7e4ba687be84;p=rrdtool.git diff --git a/src/rrd_tool.c b/src/rrd_tool.c index f536fa5..80bdb6e 100644 --- a/src/rrd_tool.c +++ b/src/rrd_tool.c @@ -364,6 +364,7 @@ static char *fgetslong( return *aLinePtr = linebuf; bufsize += MAX_LENGTH; if (!(linebuf = realloc(linebuf, bufsize))) { + free(linebuf); perror("fgetslong: realloc"); exit(1); } @@ -448,6 +449,7 @@ int main( while (fgetslong(&aLine, stdin)) { if ((argc = CountArgs(aLine)) == 0) { + free(aLine); printf("ERROR: not enough arguments\n"); } if ((myargv = (char **) malloc((argc + 1) * @@ -456,6 +458,8 @@ int main( exit(1); } if ((argc = CreateArgs(argv[0], aLine, argc, myargv)) < 0) { + free(aLine); + free(myargv); printf("ERROR: creating arguments\n"); } else { int ret = HandleInputLine(argc, myargv, stdout);