Fix off-by-one in memory allocation for quote_literal_cstr().
authorHeikki Linnakangas
Fri, 16 Dec 2016 10:50:20 +0000 (12:50 +0200)
committerHeikki Linnakangas
Fri, 16 Dec 2016 10:53:16 +0000 (12:53 +0200)
commit779325478e7e867c636c3e1ad1e5df734e7549e5
tree6717e9604a21c879100533364984db52d17b1c0d
parentb95f4bf07468165b09c29816def5292200d393cf
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