[PATCH] index: be careful when handling long names
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:44:58
Subsystem:
the rest · Maintainer:
Linus Torvalds
This is a follow-up to 7fec10b (index: be careful when handling long names, 2008-01-18) where we fixed handling of index entries with long names. There still remained a few remaining unsafe codepaths. Signed-off-by: Junio C Hamano <redacted> --- builtin-apply.c | 2 +- builtin-update-index.c | 2 +- read-cache.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/builtin-apply.c b/builtin-apply.c
index e15471b..f2377fe 100644
--- a/builtin-apply.c
+++ b/builtin-apply.c@@ -2758,7 +2758,7 @@ static void add_index_file(const char *path, unsigned mode, void *buf, unsigned ce = xcalloc(1, ce_size); memcpy(ce->name, path, namelen); ce->ce_mode = create_ce_mode(mode); - ce->ce_flags = namelen; + ce->ce_flags = create_ce_flags(namelen, 0); if (S_ISGITLINK(mode)) { const char *s = buf;
diff --git a/builtin-update-index.c b/builtin-update-index.c
index 38eb53c..003cb98 100644
--- a/builtin-update-index.c
+++ b/builtin-update-index.c@@ -95,7 +95,7 @@ static int add_one_path(struct cache_entry *old, const char *path, int len, stru size = cache_entry_size(len); ce = xcalloc(1, size); memcpy(ce->name, path, len); - ce->ce_flags = len; + ce->ce_flags = create_ce_flags(len, 0); fill_stat_cache_info(ce, st); ce->ce_mode = ce_mode_from_stat(old, st->st_mode);
diff --git a/read-cache.c b/read-cache.c
index 1648428..2dd8131 100644
--- a/read-cache.c
+++ b/read-cache.c@@ -498,7 +498,7 @@ int add_to_index(struct index_state *istate, const char *path, struct stat *st, size = cache_entry_size(namelen); ce = xcalloc(1, size); memcpy(ce->name, path, namelen); - ce->ce_flags = namelen; + ce->ce_flags = create_ce_flags(namelen, 0); fill_stat_cache_info(ce, st); if (trust_executable_bit && has_symlinks)