[Bug 6908] Problems with bionic libc caused by sizeof(off_t)=4 even with CONFIG_LFS=y

bugzilla at busybox.net bugzilla at busybox.net
Tue Feb 25 20:50:45 UTC 2014


https://bugs.busybox.net/show_bug.cgi?id=6908

--- Comment #12 from yuri at tsoft.com 2014-02-25 20:50:45 UTC ---
So it looks like this is the problem in tar arithmetic due to this off_t/loff_t
issue.

Also, it looks like Busybox tar memorizes the size in the beginning of the file
reading, and then expects the size to be the same in the end. However, file can
change in the middle of the process. I think the wiser approach would be if tar
would keep reading the file as if it didn't know its size, and if the de-facto
size (based on incomplete read call) is different, tar would issue a warning
("tar: The file 'filename' size has changed during archiving from the size NN1
bytes to the size NN2 bytes").
Assumption of the file not changing might cause some other random failures in
tar when the file actually got truncated by the outside process.

Also, tar opens file like this:
open("huge3plus", O_RDONLY)             = 3
Isn't it supposed to open it with O_LARGEFILE? In order to read arbitrary files
one needs to always set this flag on Linux, or use open64.

-- 
Configure bugmail: https://bugs.busybox.net/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the busybox-cvs mailing list