submodule.c: free() memory from xgetcwd()
Fix a memory leak in code added in bf0231c661
(rev-parse: add
--show-superproject-working-tree, 2017-03-08), we should never have
made the result of xgetcwd() a "const char *", as we return a
strbuf_detach()'d value. Let's fix that and free() it when we're done
with it.
We can't mark any tests passing passing with SANITIZE=leak using
"TEST_PASSES_SANITIZE_LEAK=true" as a result of this change, but
e.g. "t/t1500-rev-parse.sh" now gets closer to passing.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
74a06a9f21
commit
bc57ba1d54
@ -2388,7 +2388,7 @@ int get_superproject_working_tree(struct strbuf *buf)
|
|||||||
struct child_process cp = CHILD_PROCESS_INIT;
|
struct child_process cp = CHILD_PROCESS_INIT;
|
||||||
struct strbuf sb = STRBUF_INIT;
|
struct strbuf sb = STRBUF_INIT;
|
||||||
struct strbuf one_up = STRBUF_INIT;
|
struct strbuf one_up = STRBUF_INIT;
|
||||||
const char *cwd = xgetcwd();
|
char *cwd = xgetcwd();
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
const char *subpath;
|
const char *subpath;
|
||||||
int code;
|
int code;
|
||||||
@ -2451,6 +2451,7 @@ int get_superproject_working_tree(struct strbuf *buf)
|
|||||||
ret = 1;
|
ret = 1;
|
||||||
free(super_wt);
|
free(super_wt);
|
||||||
}
|
}
|
||||||
|
free(cwd);
|
||||||
strbuf_release(&sb);
|
strbuf_release(&sb);
|
||||||
|
|
||||||
code = finish_command(&cp);
|
code = finish_command(&cp);
|
||||||
|
Reference in New Issue
Block a user