Jharrod LaFon <jlafon@xxxxxxxxxxxx> writes: > Git fails due to a segmentation fault if a submodule path is empty. > Here is an example .gitmodules that will cause a segmentation fault: > [submodule "foo-module"] > path > url = http://host/repo.git > $ git status > Segmentation fault (core dumped) Can you turn this into a test to guard against the bug reappearing? > This occurs because in the function parse_submodule_config_option, the > variable 'value' is assumed not to be null, and when passed as an > argument to xstrdup a segmentation fault occurs if it is indeed null. > This is the case when using the .gitmodules example above. > > This patch addresses the issue by returning from the function if > 'value' is null before the call to xstrdup is made. > > Signed-off-by: Jharrod LaFon <jlafon <at> eyesopen.com> > --- > submodule.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/submodule.c b/submodule.c > index 1821a5b..880f21b 100644 > --- a/submodule.c > +++ b/submodule.c > @@ -130,7 +130,7 @@ int parse_submodule_config_option(const char *var, const char *value) > const char *name, *key; > int namelen; > > - if (parse_config_key(var, "submodule", &name, &namelen, &key) < 0 || !name) > + if (parse_config_key(var, "submodule", &name, &namelen, &key) < 0 || !name || !value) > return 0; > > if (!strcmp(key, "path")) { -- Thomas Rast trast@{inf,student}.ethz.ch -- 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