Re: [PATCH] exec_cmd: system_path memory leak fix
Signed-off-by: Alex Kuleshov <kuleshovmail@gmail.com>
---
exec_cmd.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/exec_cmd.c b/exec_cmd.c
index 698e752..7ed9bcc 100644
--- a/exec_cmd.c
+++ b/exec_cmd.c
@@ -13,7 +13,7 @@ const char *system_path(const char *path)
#else
static const char *prefix = PREFIX;
#endif
- struct strbuf d = STRBUF_INIT;
+ static struct strbuf d = STRBUF_INIT;
if (is_absolute_path(path))
return path;
@@ -34,8 +34,7 @@ const char *system_path(const char *path)
#endif
strbuf_addf(&d, "%s/%s", prefix, path);
- path = strbuf_detach(&d, NULL);
- return path;
+ return d.buf;
}
const char *git_extract_argv0_path(const char *argv0)
@@ -94,7 +93,7 @@ static void add_path(struct strbuf *out, const char *path)
void setup_path(void)
{
const char *old_path = getenv("PATH");
- struct strbuf new_path = STRBUF_INIT;
+ static struct strbuf new_path = STRBUF_INIT;
add_path(&new_path, git_exec_path());
add_path(&new_path, argv0_path);
--
2.2.0.rc3.190.g952f0aa.dirty