Fix array overrun in ecpg's version of ParseDateTime().
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Oct 2014 01:23:20 +0000 (21:23 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 7 Oct 2014 01:23:20 +0000 (21:23 -0400)
commit55bfdd1cfd991af0864535bbca24a606e8be7e45
tree7c2d0f284d0faf1d0c44af07c37e9d66b5d34055
parent273b29dbe96b1584dd66615cf8dc83e7e6ae7386
Fix array overrun in ecpg's version of ParseDateTime().

The code wrote a value into the caller's field[] array before checking
to see if there was room, which of course is backwards.  Per report from
Michael Paquier.

I fixed the equivalent bug in the backend's version of this code way back
in 630684d3a130bb93, but failed to think about ecpg's copy.  Fortunately
this doesn't look like it would be exploitable for anything worse than a
core dump: an external attacker would have no control over the single word
that gets written.
src/interfaces/ecpg/pgtypeslib/dt_common.c