提交 a7e383d2 编写于 作者: T Tom Lane

Repair badly broken estimation of output buffer size in lquery_out().

上级 f758097c
......@@ -498,22 +498,21 @@ lquery_out(PG_FUNCTION_ARGS)
*ptr;
int i,
j,
totallen = 0;
totallen = 1;
lquery_level *curqlevel;
lquery_variant *curtlevel;
curqlevel = LQUERY_FIRST(in);
for (i = 0; i < in->numlevel; i++)
{
totallen++;
if (curqlevel->numvar)
totallen = (curqlevel->numvar * 4) + 1 + curqlevel->totallen;
totallen += 1 + (curqlevel->numvar * 4) + curqlevel->totallen;
else
totallen = 2 * 11 + 4;
totallen++;
totallen += 2 * 11 + 4;
curqlevel = LQL_NEXT(curqlevel);
}
ptr = buf = (char *) palloc(totallen);
curqlevel = LQUERY_FIRST(in);
for (i = 0; i < in->numlevel; i++)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册