git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Setup.c: PATH_MAX is the length including the Nil

From
Sun He <sunheehnus@gmail.com>
Date
Mar 4, 2014, 16:29 UTC
Message-ID
<1393950550-9668-1-git-send-email-sunheehnus@gmail.com>
Signed-off-by: Sun He <sunheehnus@gmail.com>
---

Check the limit.h of linux and find out that the MACRO #define PATH_MAX 4096 /* # chars in a path name including nul */ So if the magic number 40 is just the size it should be. (e.g. hash code) It may bring bugs with the length(4056) of long name(gitdirenv). As gitdirenv could be set by GIT_DIR_ENVIRONMENT. If it is a bug, it will almost never occur. But I need your help to know if there is the PATH_MAX of git is the mirror of the PATH_MAX of linux and if this fix is right? If it was, there may be many places like "PATH_MAX + 1" could be replaced by just "PATH_MAX". And there may be many places like this.

Cheers, He Sun

 setup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/setup.c b/setup.c
index cffb6d6..1511612 100644
--- a/setup.c
+++ b/setup.c
@@ -395,7 +395,7 @@ static const char *setup_explicit_git_dir(const char *gitdirenv,
 	char *gitfile;
 	int offset;
 
-	if (PATH_MAX - 40 < strlen(gitdirenv))
+	if (PATH_MAX - 41 < strlen(gitdirenv))
 		die("'$%s' too big", GIT_DIR_ENVIRONMENT);
 
 	gitfile = (char*)read_gitfile(gitdirenv);
-- 
1.9.0.138.g2de3478.dirty
Next: Faiz Kothari
Message 1 of 2 in “Setup.c: PATH_MAX is the length including the Nil”
  1. Setup.c: PATH_MAX is the length including the NilSun He, Mar 4, 2014
  2. Faiz KothariMar 4, 2014

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.