apply: fix access to an uninitialized mode variable, found by valgrind

When 'tpatch' was initialized successfully, st_mode was already taken
from the previous diff.  We should not try to override it with data
from an lstat() that was never called.

This is a companion patch to 7a07841(git-apply: handle a patch that
touches the same path more than once better).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Schindelin 2009-02-04 02:50:15 +01:00 committed by Junio C Hamano
parent bc395643b6
commit e1e4389832

View File

@ -2445,7 +2445,7 @@ static int check_preimage(struct patch *patch, struct cache_entry **ce, struct s
return error("%s: %s", old_name, strerror(errno)); return error("%s: %s", old_name, strerror(errno));
} }
if (!cached) if (!cached && !tpatch)
st_mode = ce_mode_from_stat(*ce, st->st_mode); st_mode = ce_mode_from_stat(*ce, st->st_mode);
if (patch->is_new < 0) if (patch->is_new < 0)