]> granicus.if.org Git - postgresql/commit
Tighten coding for non-composite case in plperl's return_next.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 31 Jul 2017 15:33:46 +0000 (11:33 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 31 Jul 2017 15:33:46 +0000 (11:33 -0400)
commitb4cc35fbb709bd6fcae8998f041fd731c9acbf42
tree6156231828882029edda3172da6f02d83a3e440e
parentd2a51e3efcbab5b288bbadba1a7dfa123a50ba5b
Tighten coding for non-composite case in plperl's return_next.

Coverity complained about this code's practice of using scalar variables
as single-element arrays.  While that's really just nitpicking, it probably
is more readable to declare them as arrays, so let's do that.  A more
important point is that the code was just blithely assuming that the
result tupledesc has exactly one column; if it doesn't, we'd likely get
a crash of some sort in tuplestore_putvalues.  Since the tupledesc is
manufactured outside of plperl, that seems like an uncomfortably long
chain of assumptions.  We can nail it down at little cost with a sanity
check earlier in the function.
src/pl/plperl/plperl.c