Am 19.04.2017 um 13:01 schrieb Nguyễn Thái Ngọc Duy:
@@ -1558,7 +1543,17 @@ struct ref_store *get_submodule_ref_store(const char 
*submodule)
 {
        struct strbuf submodule_sb = STRBUF_INIT;
        struct ref_store *refs;
+       char *to_free = NULL;
        int ret;
+       size_t len;
+
+       if (submodule) {
+               len = strlen(submodule);
+               while (len && submodule[len - 1] == '/')

What is the source of the value of 'submodule'? Is it an index entry? Or did it pass through parse_pathspec? In these cases it is correct to compare against literal '/'. Otherwise, is_dir_sep() is preferred.

+                       len--;
+               if (!len)
+                       submodule = NULL;
+       }

        if (!submodule || !*submodule) {
                /*

-- Hannes

Reply via email to