Message ID | 1457313670-22660-1-git-send-email-vapier@gentoo.org |
---|---|
State | New |
Headers | show |
On 03/07/2016 02:21 AM, Mike Frysinger wrote: > 2016-03-06 Hongjiu Zhang <noctuorare@gmail.com> > > * elf/sln.c (makesymlink): Change stat to stat64, and lstat to lstat64. Should say “struct stat” instead of “stat”, to avoid confusion. Otherwise good. Thanks, Florian
On Sun, 6 Mar 2016, Mike Frysinger wrote: > 2016-03-06 Hongjiu Zhang <noctuorare@gmail.com> > > * elf/sln.c (makesymlink): Change stat to stat64, and lstat to lstat64. This is [BZ #15333] (but that bug should not be closed as fixed unless there are no further issues of this form left).
On 07 Mar 2016 16:41, Joseph Myers wrote: > On Sun, 6 Mar 2016, Mike Frysinger wrote: > > 2016-03-06 Hongjiu Zhang <noctuorare@gmail.com> > > > > * elf/sln.c (makesymlink): Change stat to stat64, and lstat to lstat64. > > This is [BZ #15333] (but that bug should not be closed as fixed unless > there are no further issues of this form left). thanks. i've linked the ChangeLog entry to that bug. i've also added a list of programs/libraries that look suspicious so we can at least have an end goal to close the bug. -mike
diff --git a/elf/sln.c b/elf/sln.c index 9d57be2..f52cb9f 100644 --- a/elf/sln.c +++ b/elf/sln.c @@ -164,11 +164,11 @@ makesymlinks (const char *file) static int makesymlink (const char *src, const char *dest) { - struct stat stats; + struct stat64 stats; const char *error; /* Destination must not be a directory. */ - if (lstat (dest, &stats) == 0) + if (lstat64 (dest, &stats) == 0) { if (S_ISDIR (stats.st_mode)) {
From: Hongjiu Zhang <noctuorare@gmail.com> When using sln on some filesystems which return 64-bit inodes, the stat call might fail during install like so: .../elf/sln .../elf/symlink.list /lib32/libc.so.6: invalid destination: Value too large for defined data type /lib32/ld-linux.so.2: invalid destination: Value too large for defined data type Makefile:104: recipe for target 'install-symbolic-link' failed Switch to using stat64 all the time to avoid this. 2016-03-06 Hongjiu Zhang <noctuorare@gmail.com> * elf/sln.c (makesymlink): Change stat to stat64, and lstat to lstat64. --- elf/sln.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)