[comp.sys.amiga] bug in recently posted tar

hue@netcom.UUCP (Jonathan Hue) (04/10/90)

I found a serious bug in the tar program that was recently posted
to comp.sources.amiga and comp.binaries.amiga (my fault, I ported it,
I introduced the bug).  Tar will sometimes guru when extracting tar
files created on other machines.  If anyone has found any other bugs,
please report them to me.  When all the bugs that need fixing are found
and fixed I will release a new version.

If you have the source, here is the patch (it was a misplaced paren):


#!/bin/sh
# shar:	Shell Archiver  (v1.22)
#
#	Run the following text with /bin/sh to create:
#	  tarpatch1
#
sed 's/^X//' << 'SHAR_EOF' > tarpatch1 &&
X*** t:,RDFt1A30598	Mon Apr 09 16:18:54 1990
X--- utime.c	Mon Apr 09 16:00:20 1990
X***************
X*** 35,42 ****
X  {
X      struct DateStamp dateStamp;
X  
X!     return(utime_from_stamp(filename, seconds2AmiTime(unixtime[1]),
X! 			    &dateStamp));
X  }
X  
X  int
X--- 35,42 ----
X  {
X      struct DateStamp dateStamp;
X  
X!     return(utime_from_stamp(filename, seconds2AmiTime(unixtime[1],
X! 						      &dateStamp)));
X  }
X  
X  int
SHAR_EOF
chmod 0644 tarpatch1 || echo "restore of tarpatch1 fails"
exit 0

Apologies to anyone who was bitten by this bug.

-Jonathan 	apple!netcom!hue

hue@netcom.UUCP (Jonathan Hue) (04/11/90)

For the truly adventurous who don't have Lattice C, here is a
binary patch you can apply with NewZap.  Go to sector 51 and type
in the replacement.  Here are the diffs, there are 16 bytes, address on
the left, old data in the middle, new data on the right:



0x6438: 0x20 0x48
0x643a: 0x0 0xff
0x643b: 0xc 0xf4
0x643c: 0x2f 0x20
0x643d: 0x28 0x6d
0x643f: 0x4 0xc
0x6440: 0x61 0x2f
0x6441: 0x0 0x28
0x6442: 0x2 0x0
0x6443: 0x14 0x4
0x6444: 0x48 0x61
0x6445: 0x6d 0x0
0x6446: 0xff 0x2
0x6447: 0xf4 0x10
0x6448: 0x2f 0x2e
0x6449: 0x0 0x80

I tried it, it produces a binary identical to the fixed version and it
extracts foreign tar files properly.

-Jonathan		apple!netcom!hue