array_in() and array_recv() need to be more paranoid about validating
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Aug 2005 19:41:06 +0000 (19:41 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 15 Aug 2005 19:41:06 +0000 (19:41 +0000)
commitec70ca7954353773cd1de8d0ed719232aa2453ec
tree0710afaf6e1fb017ff1303e54fb2f4b0c2a5bb52
parent6f0da9545a791f87af382924acc9253805283f9c
array_in() and array_recv() need to be more paranoid about validating
their OID parameter.  It was possible to crash the backend with
select array_in('{123}',0,0); because that would bypass the needed step
of initializing the workspace.  These seem to be the only two places
with a problem, though (record_in and record_recv don't have the issue,
and the other array functions aren't depending on user-supplied input).
Back-patch as far as 7.4; 7.3 does not have the bug.
src/backend/utils/adt/arrayfuncs.c