In the case of a file compressed by gzip - trust the crc error message to mean the file is bad.
For gzip / gunzip, if the file is too short, its message states that the file ended too soon not that it has a crc error.
For a tar (Tape ARchive) format file, the last block is supposed to be a single empty header followed by a single empty data block.
GNU tar will warn you if that is missing, some other implementations of tar will not.
That format was intended so that you could back-space the tape drive over the last two blocks and continue recording an extension to it.