Xref: utzoo news.software.b:1094 comp.bugs.misc:83 Path: utzoo!mnetor!uunet!husc6!ut-sally!ut-emx!auscso!bigtex!james From: james@bigtex.uu.net (James Van Artsdalen) Newsgroups: news.software.b,comp.bugs.misc Subject: 2.11 compress bug Message-ID: <801@bigtex.uu.net> Date: 5 Feb 88 21:26:34 GMT Organization: F.B.N. Software, Austin TX Lines: 80 Summary: In rare case, zcat can delete input file There is a bug in compress.c of the standard news release. I am using news 2.11 patchlevel 14. On a USG system, if zcat is asked to uncompress a file whose name is exactly fourteen characters and whose name does not end in ".Z", zcat will silently erase that input file under a couple of conditions. For example, the command: $ zcat abcdefghijklmn >out will delete the input file if zcat is interrupted or there is an error in writing the output. There are a couple of other failure modes involving similarly constructed file names, but these are normally not silent: use the -F flag at your own risk. The *unofficial* patch below will prevent zcat from silently removing the input file. ----- *** /usr/src/news/src/compress.c Sat Dec 19 14:01:59 1987 --- compress.c Fri Feb 5 14:44:22 1988 *************** *** 1185,1191 writeerr() { perror ( ofname ); ! unlink ( ofname ); exit ( 1 ); } --- 1185,1192 ----- writeerr() { perror ( ofname ); ! if (zcat_flg == 0) ! unlink ( ofname ); exit ( 1 ); } *************** *** 1254,1260 onintr ( ) { ! unlink ( ofname ); exit ( 1 ); } --- 1255,1262 ----- onintr ( ) { ! if (zcat_flg == 0) ! unlink ( ofname ); exit ( 1 ); } *************** *** 1262,1268 { if ( do_decomp == 1 ) fprintf ( stderr, "uncompress: corrupt input\n" ); ! unlink ( ofname ); exit ( 1 ); } --- 1264,1271 ----- { if ( do_decomp == 1 ) fprintf ( stderr, "uncompress: corrupt input\n" ); ! if (zcat_flg == 0) ! unlink ( ofname ); exit ( 1 ); } -- James R. Van Artsdalen ...!uunet!utastro!bigtex!james "Live Free or Die" Work: 512-328-0282 Home: 346-2444; 110 Wild Basin Rd. Ste #230, Austin TX 78746