Re: [HACKERS] Segmentation fault with lo_export - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Segmentation fault with lo_export
Date
Msg-id 199808290213.WAA26381@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] Segmentation fault with lo_export  (Bruce Momjian <maillist@candle.pha.pa.us>)
List pgsql-hackers
> > Hi Bruce,
> >
> > it looks like the last time I tested lo_export it worked
> > just by chance.
> >
> > The bug seems to be in interfaces/libpq/fe-lobj.c line 424.
> > The two functions lo_import and lo_export are somehow
> > similar when exchanging the read/write for Unix file
> > and inv file. But whereas read() reads exactly BUFSIZ
> > bytes, lo_read() appends a '\0' after having read
> > BUFSIZ bytes. So line 424 should be:
> >
> >       char        buf[LO_BUFSIZE+1];
> >
> > instead of:
> >
> >     char        buf[LO_BUFSIZE];
> >
> > Could you please apply this bug-fix ?
> > Also the code example in the man page for
> > large-objects needs to be corrected.
> >
> > I can't do it by myself because I am on
> > vacation on a Greek island, and the only
> > message I'm seeing frequently is
> > 'modem hangup, no CARRIER' ...
>
> I am going to fix lo_read().  I see no reason not to have it function
> like read().

OK.  It was actually libpq that was placing the NULL, through PQfn() and
pqGetnchar().  Shouldn't have.

Fixed now.

--
Bruce Momjian                          |  830 Blythe Avenue
maillist@candle.pha.pa.us              |  Drexel Hill, Pennsylvania 19026
  +  If your life is a hard drive,     |  (610) 353-9879(w)
  +  Christ can be your backup.        |  (610) 853-3000(h)

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: strange path through code (initdb problem)
Next
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Segmentation fault with lo_export