On Tue, Mar 4, 2014 at 9:59 PM, Sun He <sunheehnus@xxxxxxxxx> wrote: > Signed-off-by: Sun He <sunheehnus@xxxxxxxxx> > --- > > 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 Hi, I am not getting what exactly you are trying to tell, but git defines its own PATH_MAX. Its defined in git-compat-util.h: #define PATH_MAX 4096 That is why instead of making buffers using PATH_MAX, use strbuf. All these problems of buffer overflow will be gone. I hope you are concerned about buffer overflow. Cheers -Faiz -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html