Fix off-by-one in memory allocation for quote_literal_cstr().
authorHeikki Linnakangas <[email protected]>
Fri, 16 Dec 2016 10:50:20 +0000 (12:50 +0200)
committerHeikki Linnakangas <[email protected]>
Fri, 16 Dec 2016 10:52:50 +0000 (12:52 +0200)
commit0fe5a4cd7579289ac8b73feb61f72ef9e6995200
treebf1bd3eb6f15403f35402e2b12ff2baf46b39706
parent6f4d38dbe06867df01dd62b52dae1654eba3976f
Fix off-by-one in memory allocation for quote_literal_cstr().

The calculation didn't take into account the NULL terminator. That lead
to overwriting the palloc'd buffer by one byte, if the input consists
entirely of backslashes. For example "format('%L', E'\\')".

Fixes bug #14468. Backpatch to all supported versions.

Report: https://www.postgresql.org/message-id/20161216105001.13334.42819%40wrigleys.postgresql.org
src/backend/utils/adt/quote.c