From: Junio C Hamano <gitster@pobox.com>
To: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] abspath.c: use PATH_MAX in real_path_internal()
Date: Thu, 17 Jul 2014 11:03:16 -0700 [thread overview]
Message-ID: <xmqqoawnq2vv.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <1405601143-31354-1-git-send-email-pclouds@gmail.com> ("Nguyễn Thái Ngọc Duy"'s message of "Thu, 17 Jul 2014 19:45:43 +0700")
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
> This array 'cwd' is used to store the result from getcwd() and chdir()
> back. PATH_MAX is the right constant for the job. On systems with
> longer PATH_MAX (eg. 4096 on Linux), hard coding 1024 fails stuff,
> e.g. "git init". Make it static too to reduce stack usage.
>
> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
> ---
Thanks. It seems that this 1024 has been with us since the
beginning of this piece of code. I briefly wondered if there are
strange platform that will have PATH_MAX shorter than 1024 that will
be hurt by this change, but the result in cwd[] is used to grow the
final result bufs[] that is sized based on PATH_MAX anyway, so it
will not be an issue (besides, the absurdly short one seems to be
a different macro, MAX_PATH, on Windows).
Will queue.
> abspath.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/abspath.c b/abspath.c
> index ca33558..c0c868f 100644
> --- a/abspath.c
> +++ b/abspath.c
> @@ -41,7 +41,7 @@ static const char *real_path_internal(const char *path, int die_on_error)
> * here so that we can chdir() back to it at the end of the
> * function:
> */
> - char cwd[1024] = "";
> + static char cwd[PATH_MAX];
>
> int buf_index = 1;
>
> @@ -49,6 +49,8 @@ static const char *real_path_internal(const char *path, int die_on_error)
> char *last_elem = NULL;
> struct stat st;
>
> + *cwd = '\0';
> +
> /* We've already done it */
> if (path == buf || path == next_buf)
> return path;
next prev parent reply other threads:[~2014-07-17 18:03 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-17 12:45 [PATCH] abspath.c: use PATH_MAX in real_path_internal() Nguyễn Thái Ngọc Duy
2014-07-17 17:05 ` René Scharfe
2014-07-17 18:13 ` Junio C Hamano
2014-07-17 23:03 ` Karsten Blees
2014-07-18 10:49 ` Duy Nguyen
2014-07-18 15:08 ` René Scharfe
2014-07-19 12:51 ` Duy Nguyen
2014-07-20 0:29 ` Karsten Blees
2014-07-20 8:00 ` René Scharfe
2014-07-21 2:25 ` Jeff King
2014-07-18 11:32 ` René Scharfe
2014-07-19 23:55 ` Karsten Blees
2014-07-20 11:17 ` René Scharfe
2014-07-17 18:03 ` Junio C Hamano [this message]
2014-07-17 23:02 ` Karsten Blees
2014-07-17 23:03 ` Karsten Blees
2014-07-18 16:45 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqoawnq2vv.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=pclouds@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.