The malloc request was 1 byte too small for the worst-case output.
This seems relatively unlikely to cause any problems in practice,
as the worst case only occurs if the input string contains no
characters other than single-quote or newline, and even then
malloc alignment padding would probably save the day. But it's
definitely a bug.
David Rowley
static char *
pset_quoted_string(const char *str)
{
- char *ret = pg_malloc(strlen(str) * 2 + 2);
+ char *ret = pg_malloc(strlen(str) * 2 + 3);
char *r = ret;
*r++ = '\'';