Correct some code in pg_restore when reading the header of a tar archive:

Neil Conway <neilc@samurai.com>

Commit: 05db8b501b7807cf730a7c1b8a95d05ca694070b
Author: Neil Conway <neilc@samurai.com>
Date: 2005-06-22T02:00:47Z
Releases: 8.1.0
Correct some code in pg_restore when reading the header of a tar archive:

(1) The code doesn't initialize `sum', so the initial "does the checksum
    match?" test is wrong.

(2) The loop that is intended to check for a "null block" just checks
    the first byte of the tar block 512 times, rather than each of the
    512 bytes one time (!), which I'm guessing was the intent.

It was only through sheer luck that this worked in the first place.

Per Coverity static analysis performed by EnterpriseDB.

Files

PathChange+/−
src/bin/pg_dump/pg_backup_tar.c modified +9 −9