Re: [PATCH] update-index: fix xgetcwd() related memory leak
On Thu, Mar 30, 2017 at 08:22:08AM +0200, Christian Couder wrote:
Show 30 quoted lines
> As xgetcwd() returns an allocated buffer, we should free this
> buffer when we don't need it any more.
>
> This was found by Coverity.
>
> Reported-by: Jeff King <peff@peff.net>
> Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
> ---
> builtin/update-index.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/builtin/update-index.c b/builtin/update-index.c
> index d74d72cc7f..ebfc09faa0 100644
> --- a/builtin/update-index.c
> +++ b/builtin/update-index.c
> @@ -125,12 +125,16 @@ static int test_if_untracked_cache_is_supported(void)
> struct stat st;
> struct stat_data base;
> int fd, ret = 0;
> + char *cwd;
>
> strbuf_addstr(&mtime_dir, "mtime-test-XXXXXX");
> if (!mkdtemp(mtime_dir.buf))
> die_errno("Could not make temporary directory");
>
> - fprintf(stderr, _("Testing mtime in '%s' "), xgetcwd());
> + cwd = xgetcwd();
> + fprintf(stderr, _("Testing mtime in '%s' "), cwd);
> + free(cwd);
> +Yep, this solution looks obviously correct to me.
-Peff