aboutsummaryrefslogtreecommitdiffstats
path: root/submodule.h
diff options
context:
space:
mode:
authorJohannes Schindelin <johannes.schindelin@gmx.de>2024-03-31 00:22:41 +0100
committerJohannes Schindelin <johannes.schindelin@gmx.de>2024-04-17 22:30:24 +0200
commit86cb6a3f059968d031fdf6ed49ab38a7ae00847f (patch)
tree9dec3da0e9dbd56955d0a65f07016779986c88a3 /submodule.h
parent9e06401098f5f83fc9a69ab27e449ae746638892 (diff)
parente8d0608944486019ea0e1ed2ed29776811a565c2 (diff)
downloadgit-86cb6a3f059968d031fdf6ed49ab38a7ae00847f.tar.gz
Merge branch 'icasefs-symlink-confusion'
This topic branch fixes two vulnerabilities: - Recursive clones on case-insensitive filesystems that support symbolic links are susceptible to case confusion that can be exploited to execute just-cloned code during the clone operation. - Repositories can be configured to execute arbitrary code during local clones. To address this, the ownership checks introduced in v2.30.3 are now extended to cover cloning local repositories. 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 b52a4ff1e7..fb770f1687 100644
--- a/submodule.h
+++ b/submodule.h
@@ -148,6 +148,11 @@ void submodule_name_to_gitdir(struct strbuf *buf, struct repository *r,
*/
int validate_submodule_git_dir(char *git_dir, const char *submodule_name);
+/*
+ * Make sure that the given submodule path does not follow symlinks.
+ */
+int validate_submodule_path(const char *path);
+
#define SUBMODULE_MOVE_HEAD_DRY_RUN (1<<0)
#define SUBMODULE_MOVE_HEAD_FORCE (1<<1)
int submodule_move_head(const char *path,