Fix range check in ECPG numeric to int conversion
authorJohn Naylor <john.naylor@postgresql.org>
Fri, 30 Jul 2021 17:50:23 +0000 (13:50 -0400)
committerJohn Naylor <john.naylor@postgresql.org>
Fri, 30 Jul 2021 19:39:22 +0000 (15:39 -0400)
commit5fcf3945bd90bb0170938ad780159779367dc8ac
treef80fe11c3a557d6479fd2930ba3cb008dc4d0c36
parent3dddb2a8219d3cfd163a83561d4b4613cd2ea376
Fix range check in ECPG numeric to int conversion

The previous coding guarded against -INT_MAX instead of INT_MIN,
leading to -2147483648 being rejected as out of range.

Per bug #17128 from Kevin Sweet

Discussion: https://www.postgresql.org/message-id/flat/17128-55a8a879727a3e3a%40postgresql.org
Reviewed-by: Tom Lane
Backpatch to all supported branches
doc/src/sgml/ecpg.sgml
src/interfaces/ecpg/pgtypeslib/numeric.c
src/interfaces/ecpg/test/expected/pgtypeslib-num_test.c
src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stderr
src/interfaces/ecpg/test/expected/pgtypeslib-num_test.stdout
src/interfaces/ecpg/test/pgtypeslib/num_test.pgc