diff options
-rw-r--r-- | src/submodule.c | 5 | ||||
-rw-r--r-- | tests-clar/resources/submodules/gitmodules | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/submodule.c b/src/submodule.c index b4e917561..40bda9a41 100644 --- a/src/submodule.c +++ b/src/submodule.c @@ -1025,6 +1025,7 @@ static int submodule_get( if (!git_strmap_valid_index(smcfg, pos)) { sm = submodule_alloc(repo, name); + GITERR_CHECK_ALLOC(sm); /* insert value at name - if another thread beats us to it, then use * their record and release our own. @@ -1101,8 +1102,10 @@ static int submodule_load_from_config( namestart = key + strlen("submodule."); property = strrchr(namestart, '.'); - if (property == NULL) + + if (!property || (property == namestart)) return 0; + property++; is_path = (strcasecmp(property, "path") == 0); diff --git a/tests-clar/resources/submodules/gitmodules b/tests-clar/resources/submodules/gitmodules index 1262f8bb0..2798b696c 100644 --- a/tests-clar/resources/submodules/gitmodules +++ b/tests-clar/resources/submodules/gitmodules @@ -1,3 +1,6 @@ [submodule "testrepo"] path = testrepo + url = +[submodule ""] + path = testrepo url =
\ No newline at end of file |