From 65042f0269ccfda7fe0fffeef9fad4c4810f440e Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 1 Apr 2002 05:58:57 +0200 Subject: fixed a couple of minor memory leaks --- args.c | 7 +++++-- ccache.c | 1 + 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; -- cgit v1.2.1