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

From: Yeb Havinga <yebhavinga(at)gmail(dot)com>
To: PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: BUG #5748: Invalid oidvector data during binary recv
Date: 2010-11-11 15:10:12
Message-ID: 4CDC0754.2030503@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello list,

Sorry for not replying to the bug list, but I didn't receive that
message. It's about
http://archives.postgresql.org/pgsql-bugs/2010-11/msg00065.php

The test case there with remark about LBOUND is incorrect; we first
found the bug on a different result. In the process of finding the most
simple test case we apparantly found one where another check failed
(ARR_NDIM(result) > 1)

The following testcase has a value for ndim that passes the check, but
an lbound value of 0 right after the call of array_recv in oidvectorrecv:

postgres=# copy (select '{"1"}'::oidvector[]) to '/tmp/test' with binary;
COPY 1
postgres=# copy a from '/tmp/test' with binary;

(gdb) p *result
$6 = {vl_len_ = 112, ndim = 1, dataoffset = 0, elemtype = 26, dim1 = 1,
lbound1 = 0, values = {1}}

The same behaviour is also seen in int2vectorrecv.

regards,
Yeb Havinga

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-11-11 15:16:11 Re: B-tree parent pointer and checkpoints
Previous Message Itagaki Takahiro 2010-11-11 15:02:52 MULTISET and additional functions for ARRAY