summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2002-04-01 05:58:57 +0200
committerAndrew Tridgell <tridge@samba.org>2002-04-01 05:58:57 +0200
commit65042f0269ccfda7fe0fffeef9fad4c4810f440e (patch)
treebde824db4ab85704a9b3205f978b853e9fe16424
parent93ef062cc5b3f326b7ec19ba39327e0b81c25215 (diff)
downloadccache-v1.3.tar.gz
fixed a couple of minor memory leaksv1.3
-rw-r--r--args.c7
-rw-r--r--ccache.c1
2 files changed, 6 insertions, 2 deletions
diff --git a/args.c b/args.c
index d0defd2c..64d2d406 100644
--- a/args.c
+++ b/args.c
@@ -41,6 +41,9 @@ void args_add(ARGS *args, const char *s)
void args_pop(ARGS *args, int n)
{
- args->argc -= n;
- args->argv[args->argc] = NULL;
+ while (n--) {
+ args->argc--;
+ free(args->argv[args->argc]);
+ args->argv[args->argc] = NULL;
+ }
}
diff --git a/ccache.c b/ccache.c
index 13cd54f3..dfd51225 100644
--- a/ccache.c
+++ b/ccache.c
@@ -285,6 +285,7 @@ static void find_compiler(int argc, char **argv)
struct stat st1, st2;
orig_args = args_init();
+ free(orig_args->argv);
orig_args->argv = argv;
orig_args->argc = argc;