Re: BUG #5748: Invalid oidvector data during binary recv

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Yeb Havinga <yebhavinga(at)gmail(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5748: Invalid oidvector data during binary recv
Date: 2010-11-11 15:36:22
Message-ID: 4CDC0D76.8070802@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 11.11.2010 16:30, Yeb Havinga wrote:
>
> The following bug has been logged online:
>
> Bug reference: 5748
> Logged by: Yeb Havinga
> Email address: yebhavinga(at)gmail(dot)com
> PostgreSQL version: 9.0.1
> Operating system: Linux
> Description: Invalid oidvector data during binary recv
> Details:
>
> postgres=# create table a as select ''::oidvector;
> SELECT 1
> postgres=# copy a to '/tmp/test' with binary;
> COPY 1
> postgres=# copy a from '/tmp/test' with binary;
> ERROR: invalid oidvector data
>
> The error caused by the ARR_LBOUND(result)[0] != 0) check in oidvectorrecv,
> and after some debugging and looking at common values of the lbound, I
> wonder if this check itself is correct.

That check was added a while ago to make it impossible to inject values
into the system that the text input functions wouldn't accept. There is
no way to create an oidvector with non-zero lower bound through
oidvectorin. But it looks like the check is not right for an empty array.

Will fix, thanks for the report.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2010-11-11 15:48:10 Re: BUG #5748: Invalid oidvector data during binary recv
Previous Message Denis 2010-11-11 15:26:08 BUG #5749: Case sensivity of names of sequences.