Subject: Re: [PATCH v5 5/5] setup: Don't dereference in-tree symlinks for absolute paths

From: Junio C Hamano <[email-masked]>
Date: Mon, 03 Feb 2014 16:05:08 -0800

Martin Erik Werner <[email-masked]> writes:

> Then it seems like one could get rid of npath completely:

Yes.  And you need to remove its definition as well to avoid "unused
variable" warning.

Will queue with an obvious fix-up.

Thanks.

>
> diff --git a/setup.c b/setup.c
> index 230505c..dd120cd 100644
> --- a/setup.c
> +++ b/setup.c
> @@ -88,21 +88,17 @@ char *prefix_path_gently(const char *prefix, int len,
>  	if (is_absolute_path(orig)) {
>  		char *npath;
>  
> -		npath = xmalloc(strlen(path) + 1);
> +		sanitized = xmalloc(strlen(path) + 1);
>  		if (remaining_prefix)
>  			*remaining_prefix = 0;
> -		if (normalize_path_copy_len(npath, path, remaining_prefix)) {
> -			free(npath);
> +		if (normalize_path_copy_len(sanitized, path, remaining_prefix)) {
> +			free(sanitized);
>  			return NULL;
>  		}
> -		if (abspath_part_inside_repo(npath)) {
> -			free(npath);
> +		if (abspath_part_inside_repo(sanitized)) {
> +			free(sanitized);
>  			return NULL;
>  		}
> -
> -		sanitized = xmalloc(strlen(npath) + 1);
> -		strcpy(sanitized, npath);
> -		free(npath);
>  	} else {
>  		sanitized = xmalloc(len + strlen(path) + 1);
>  		if (len)
>
> at the cost of 'sanitized' always being the length of path, regardless
> if it's shorter, or even a NUL string.
>
> --
> Martin Erik Werner <[email-masked]>