Re: [HACKERS] Segmentation fault with lo_export

From: Bruce Momjian <maillist(at)candle(dot)pha(dot)pa(dot)us>
To: E(dot)Mergl(at)bawue(dot)de (Edmund Mergl)
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Segmentation fault with lo_export
Date: 1998-08-29 04:08:11
Message-ID: 199808290408.AAA29008@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Bruce Momjian wrote:
> >
> > Edmund, has this been fixed?
> >
> > > Hello,
> > >
> > > this problem appeared quite frequently in the last two years:
> > > the libpq-function lo_export gives a segmentation fault.
> > >
> > > This happend with the current snapshot (I don't remember the
> > > date, it was begin of June, filesize: 3980592) on Linux-2.0.34.
> > > It worked with Postgresql-6.3.2.
> > >
> > > Edmund
>
>
> 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' ...

Extra null removed.

--
Bruce Momjian | 830 Blythe Avenue
maillist(at)candle(dot)pha(dot)pa(dot)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)

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 1998-08-29 04:15:28 Re: [PATCHES] Re: some patches
Previous Message Bruce Momjian 1998-08-29 04:01:05 Re: PostgreSQL under BSD/OS