summaryrefslogtreecommitdiff
path: root/submodule.h
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2019-10-02 13:08:45 +0200
committerJohannes Schindelin <johannes.schindelin@gmx.de>2019-12-05 15:37:08 +0100
commit76a681ce9c20e2827ebc02ca8c29fa6a3e946190 (patch)
tree3055874d4666b3364d15cc205dc36e9680f294d9 /submodule.h
parentdd53ea7220606f9ed36db5a0ef910143fdac2903 (diff)
parenta8dee3ca610f5a1d403634492136c887f83b59d2 (diff)
downloadgit-76a681ce9c20e2827ebc02ca8c29fa6a3e946190.tar.xz
Merge branch 'dubiously-nested-submodules'
Recursive clones are currently affected by a vulnerability that is caused by too-lax validation of submodule names. This topic branch fixes that. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Diffstat (limited to 'submodule.h')
-rw-r--r--submodule.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/submodule.h b/submodule.h
index 3c239d1ecf..cb1ab07b9a 100644
--- a/submodule.h
+++ b/submodule.h
@@ -120,6 +120,11 @@ extern int parallel_submodules(void);
*/
int submodule_to_gitdir(struct strbuf *buf, const char *submodule);
+/*
+ * Make sure that no submodule's git dir is nested in a sibling submodule's.
+ */
+int validate_submodule_git_dir(char *git_dir, const char *submodule_name);
+
#define SUBMODULE_MOVE_HEAD_DRY_RUN (1<<0)
#define SUBMODULE_MOVE_HEAD_FORCE (1<<1)
extern int submodule_move_head(const char *path,