NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

usr.bin/tar/ ignores error codes from read() just silently pads nulls



Hi hackers%freebsd.org@localhost & netbsd-users%NetBSD.org@localhost
usr.bin/tar ignores device error codes from read() & silently pads nulls.  See
  FreeBSD 6.2 6.4 7.3, 8.0, 8.1, & current src/usr.bin/tar/write.c
  NetBSD 5.1 & current src/external/bsd/libarchive/dist/tar/write.c
        ^write_file_data(
        last 3 lines ... bytes_read = read

I filed a send-pr yesterday Mon, 31 Jan 2011 04:52:29 +0100 (CET)
        http://www.freebsd.org/cgi/query-pr.cgi?pr=154407
diffs slightly cleaned up here:
        http://berklix.com/~jhs/src/bsd/fixes/FreeBSD/src/gen/usr.bin/tar/
Tar author will probably issue cleaner code as soon as he has time.

Meantime, if you may have copied in data without realising media was flakey,
bsdtar will not have warned (though /var/log/messages does), so
you may want to scan with find & a detector eg
        http://berklix.com/~jhs/src/bsd/jhs/bin/public/8f/

Cheers,
Julian
-- 
Julian Stacey, BSD Unix Linux C Sys Eng Consultants Munich http://berklix.com
 Mail plain text;  Not quoted-printable, Not HTML, Not base 64.
 Reply below text sections not at top, to avoid breaking cumulative context. 


Home | Main Index | Thread Index | Old Index