Code

Fix various memory leaks in transport-helper.c
authorSverre Rabbelier <srabbelier@gmail.com>
Wed, 18 Nov 2009 01:42:29 +0000 (02:42 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 18 Nov 2009 05:45:44 +0000 (21:45 -0800)
Found with:
valgrind --tool=memcheck --leak-check=full --show-reachable=yes

Signed-off-by: Sverre Rabbelier <srabbelier@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
transport-helper.c

index da8185a98150fddf692c9ead76097acbe7b9b41c..628a5ca21062ee26ca219f75e13ad7d3c7dcff4d 100644 (file)
@@ -74,6 +74,7 @@ static struct child_process *get_helper(struct transport *transport)
                }
                free(refspecs);
        }
+       strbuf_release(&buf);
        return data->helper;
 }
 
@@ -163,6 +164,8 @@ static int fetch_with_import(struct transport *transport,
        }
        disconnect_helper(transport);
        finish_command(&fastimport);
+       free(fastimport.argv);
+       fastimport.argv = NULL;
 
        for (i = 0; i < nr_heads; i++) {
                char *private;
@@ -176,6 +179,7 @@ static int fetch_with_import(struct transport *transport,
                read_ref(private, posn->old_sha1);
                free(private);
        }
+       strbuf_release(&buf);
        return 0;
 }