Re: Reading from a read-only BLOB is allowed

Lists: pgsql-bugs
From: Gonzalo Paniagua Javier <gonzalo(at)gnome-db(dot)org>
To: pgsql-bugs(at)postgresql(dot)org
Subject: Reading from a read-only BLOB is allowed
Date: 2003-08-16 21:08:21
Message-ID: 1061068101.5308.50.camel@k7
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Hi!

It seems that postgres allows writing to a read-only blob opened like:

fd = lo_open (cnc, oid, INV_READ);

I've attached a simple test case and the Makefile to build it.

I'm using postgresql 7.3.3 (7.3.3-1 is the debian package version).

Is that the intended behaviour or is it a bug?

-Gonzalo

P.S.: please, CC me as I'm not suscribed to this list. Thanks.

--
Gonzalo Paniagua Javier <gonzalo(at)gnome-db(dot)org>
http://www.gnome-db.org/~gonzalo/

Attachment Content-Type Size
inversion-bug.c text/x-c 1.1 KB
Makefile text/x-makefile 164 bytes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Gonzalo Paniagua Javier <gonzalo(at)gnome-db(dot)org>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Reading from a read-only BLOB is allowed
Date: 2003-08-17 05:22:06
Message-ID: 9198.1061097726@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Gonzalo Paniagua Javier <gonzalo(at)gnome-db(dot)org> writes:
> It seems that postgres allows writing to a read-only blob opened like:
> fd = lo_open (cnc, oid, INV_READ);

AFAICS from the code, INV_READ/WRITE attached to lo_open only determine
the kind of lock taken on the LO (shared or exclusive). Not sure
whether it's a bug to prohibit the other kind of access or not.

Note that there's no "security" issue here, since anyone is allowed to
write any LO anyway.

regards, tom lane