Hi, On Sun, 29 Sep 2013, Wataru Noguchi wrote:
> --- a/convert.c > +++ b/convert.c > @@ -724,6 +724,11 @@ static void convert_attrs(struct conv_attrs *ca, const > char *path) > { > int i; > static struct git_attr_check ccheck[NUM_CONV_ATTRS]; > + > + if (NUM_CONV_ATTRS != 0) { > + ccheck[0].attr = NULL; > + ccheck[0].value = NULL; > + } I wonder whether it would make more sense to use memset(ccheck, 0, sizeof(ccheck)) ? But then, ccheck is static and *should* be initialized to all 0 according to the C standard. And re-initializing it to NULL would invalidate the values that were set earlier. Also, if NUM_CONV_ATTRS == 0, I would expect > if (!ccheck[0].attr) { to access an invalid location... > diff --git a/git-compat-util.h b/git-compat-util.h > index a31127f..ba02c69 100644 > --- a/git-compat-util.h > +++ b/git-compat-util.h > @@ -237,6 +237,16 @@ extern char *gitbasename(char *); > #ifndef PATH_MAX > #define PATH_MAX 4096 > #endif > +#ifdef GIT_WINDOWS_NATIVE > +/* Git for Windows checkout PATH_MAX is reduce to 260. > + * but if checkout relative long path name, its length too short. > + * thus, expand length. > + */ > +#ifdef PATH_MAX > +#undef PATH_MAX > +#endif > +#define PATH_MAX 4096 > +#endif This looks fine, but I am wary... did you not say that a crash was caused by this? In that case, we would have a user that accesses the respective buffer without checking the size and we would still have to fix that bug.. Ciao, Dscho -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html