"Pavel Holec" <ho...@email.cz> writes:
> In the meantime I tried debug in msvc2005 (Win7/32) and
> free(funcsig); in pg_dump.c line 7510 cause
> _ASSERTE(_CrtIsValidHeapPointer(pUserData)); in dbgheap.c line 1252
> * If this ASSERT fails, a bad pointer has been passed in. It may be
> * totally bogus, or it may have been allocated from another heap.
> * The pointer MUST come from the 'local' heap.

> If I comment free(funcsig); and next one free(funcsig_tag); pg_dump works 
> fine.

Hmm.  I can see how that would happen if you're using one of the Windows
environments wherein malloc's done inside libpq have to be free'd inside
libpq.  (The PQExpBuffer support code is in libpq...)

However, the flaw in that explanation is that it would basically mean
pg_dump doesn't work at all on Windows, at least not if you have any
user-defined functions, and probably some other cases too because there
seem to be multiple instances of the dubious coding.  It's a bit hard to
believe that nobody's noticed that before.

                        regards, tom lane

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to