]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
fixed a couple of minor memory leaks v1.3
authorAndrew Tridgell <tridge@samba.org>
Mon, 1 Apr 2002 03:58:57 +0000 (05:58 +0200)
committerAndrew Tridgell <tridge@samba.org>
Mon, 1 Apr 2002 03:58:57 +0000 (05:58 +0200)
args.c
ccache.c

diff --git a/args.c b/args.c
index d0defd2c86e5a0c7e23b45ed4ef615064a778f73..64d2d4061b2d72266d7ad3f90ce75cda444ee796 100644 (file)
--- 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;
+       }
 }
index 13cd54f3d9029a3515c5b2b111dc9eb7b923e61b..dfd512254381d1736d6adaed6b3299282f2e78b7 100644 (file)
--- 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;