Re: [PATCH 1/1] clone: replace relative paths in the alternates
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 19, 2011, 06:22 UTC
- Message-ID
- <7vy5yp53aj.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1313731396-10458-2-git-send-email-jason77.wang@gmail.com>
Hui Wang <jason77.wang@gmail.com> writes:
Show 5 quoted lines
> + 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?
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?