Index: src/bin/pg_dump/pg_backup_archiver.c =================================================================== RCS file: /u01/mirrors/cvs/pgsql/pgsql/src/bin/pg_dump/pg_backup_archiver.c,v retrieving revision 1.144 diff -u -p -c -r1.144 pg_backup_archiver.c *** src/bin/pg_dump/pg_backup_archiver.c 26 Mar 2007 16:58:39 -0000 1.144 --- src/bin/pg_dump/pg_backup_archiver.c 5 Aug 2007 02:32:28 -0000 *************** char * *** 1469,1475 **** ReadStr(ArchiveHandle *AH) { char *buf; ! int l; l = ReadInt(AH); if (l == -1) --- 1469,1475 ---- ReadStr(ArchiveHandle *AH) { char *buf; ! int l, res; l = ReadInt(AH); if (l == -1) *************** ReadStr(ArchiveHandle *AH) *** 1480,1486 **** if (!buf) die_horribly(AH, modulename, "out of memory\n"); ! (*AH->ReadBufPtr) (AH, (void *) buf, l); buf[l] = '\0'; } --- 1480,1489 ---- if (!buf) die_horribly(AH, modulename, "out of memory\n"); ! if ((res = (*AH->ReadBufPtr) (AH, (void *) buf, l)) != l) ! { ! die_horribly(AH, modulename, "expected %d bytes, only got %d bytes\n", l, res); ! } buf[l] = '\0'; }