summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2015-01-30 15:15:59 -0800
committerJunio C Hamano <gitster@pobox.com>2015-02-10 13:41:16 -0800
commit3c37a2e339e695c7cc41048fe0921cbc8b48b0f0 (patch)
treee370f3cbb02d451a548f13a51db37da80a695e31
parentc536c0755f6450b7bcce499cfda171f8c6d1e593 (diff)
downloadgit-3c37a2e339e695c7cc41048fe0921cbc8b48b0f0.tar.gz
apply: do not read from the filesystem under --index
We currently read the preimage to apply a patch from the index only when the --cached option is given. Do so also when the command is running under the --index option. With --index, the index entry and the working tree file for a path that is involved in a patch must be identical, so this should not affect the result, but by reading from the index, we will get the protection to avoid reading an unintended path beyond a symbolic link automatically. Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/apply.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/apply.c b/builtin/apply.c
index 8561236d04..21e45a0f10 100644
--- a/builtin/apply.c
+++ b/builtin/apply.c
@@ -3136,7 +3136,7 @@ static int load_patch_target(struct strbuf *buf,
const char *name,
unsigned expected_mode)
{
- if (cached) {
+ if (cached || check_index) {
if (read_file_or_gitlink(ce, buf))
return error(_("read of %s failed"), name);
} else if (name) {