"Ruslan V. Lopatin" <lrv@ufps.tomsk.su> writes:
> Program received signal SIGSEGV, Segmentation fault.
> 0x402d3557 in strlen () from /lib/libc.so.6
> (gdb) bt
> #0 0x402d3557 in strlen () from /lib/libc.so.6
> #1 0x08056ddc in WriteStr (AH=0x806c808, c=0x6c627570 "")
> at pg_backup_archiver.c:1519
> #2 0x0805752a in WriteToc (AH=0x806c808) at
> pg_backup_archiver.c:1851
> #3 0x0805a2ce in _CloseArchive (AH=0x806c808) at
> pg_backup_custom.c:802
Ohh ... I see the problem. It is this misguided effort at avoiding
memory leaks:
if (commentDeps)
{
for (j = 0; (*commentDeps)[j] != NULL; j++)
free((void *) (*commentDeps)[j]);
free(commentDeps);
}
(about line 5447 of pg_dump.c; added in rev 1.268 of 2-Jul-02).
This is freeing the dependency data that the archive entry needs :-(
regards, tom lane