Make 'prepare_temp_file()' ignore st_size for symlinks
The code was already set up to not really need it, so this just massages it a bit to remove the use entirely. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
cf219d8c68
commit
dfab6aaecf
9
diff.c
9
diff.c
@ -1881,13 +1881,12 @@ static void prepare_temp_file(const char *name,
|
||||
if (S_ISLNK(st.st_mode)) {
|
||||
int ret;
|
||||
char buf[PATH_MAX + 1]; /* ought to be SYMLINK_MAX */
|
||||
size_t sz = xsize_t(st.st_size);
|
||||
if (sizeof(buf) <= st.st_size)
|
||||
die("symlink too long: %s", name);
|
||||
ret = readlink(name, buf, sz);
|
||||
ret = readlink(name, buf, sizeof(buf));
|
||||
if (ret < 0)
|
||||
die("readlink(%s)", name);
|
||||
prep_temp_blob(temp, buf, sz,
|
||||
if (ret == sizeof(buf))
|
||||
die("symlink too long: %s", name);
|
||||
prep_temp_blob(temp, buf, ret,
|
||||
(one->sha1_valid ?
|
||||
one->sha1 : null_sha1),
|
||||
(one->sha1_valid ?
|
||||
|
Loading…
Reference in New Issue
Block a user