I just ran into this reading an old 4bsd tar archive: if the size on the tape of a link is non-zero, tar x and tar t will get confused about position on the tape and typically blow up with a checksum error. (unix tar evidently had the same bug; I tried a late research unix tar and it blew up the same way.) The fix is one line; I added some comments and a little paranoia against similar future problems.