Subject: Re: [PATCH 1/1] clone: replace relative paths in the alternates

From: Hui Wang <[email-masked]>
Date: Fri, 19 Aug 2011 14:39:23 +0800

Junio C Hamano wrote:
> Hui Wang <[email-masked]> writes:
>
>   
>> +	mapsz = xsize_t(st.st_size);
>> +	map = xmmap(NULL, mapsz, PROT_READ, MAP_PRIVATE, fd, 0);
>> +	close(fd);
>> +
>> +	tmpbuf = mapsz > 4096 ? xmalloc(mapsz * 2) : xmalloc(mapsz + 4096);
>>     
>
> Where do these magic numbers come from, and what guarantee do we have that
> these magic numbers give safe upper bound for pathnames that are expanded
> to be absolute?
>
>   
If an alternates file has dozens of relative path lines, this code has 
great risk.
> Wouldn't it be a lot cleaner and much less error prone if you open the
> original, read from it with strbuf_readline(), convert the path using
> strbuf manipulation functions and write the resulting line out to the
> lockfile you obtained to update it, line by line?
>   
This is a good suggestion, i will try to use the above way to prepare a 
V2 patch.

Thanks,
Jason.