提交 0a6cc285 编写于 作者: T Tom Lane

gistendscan() forgot to free so->giststate.

This oversight led to a massive memory leak --- upwards of 10KB per tuple
--- during creation-time verification of an exclusion constraint based on a
GIST index.  In most other scenarios it'd just be a leak of 10KB that would
be recovered at end of query, so not too significant; though perhaps the
leak would be noticeable in a situation where a GIST index was being used
in a nestloop inner indexscan.  In any case, it's a real leak of long
standing, so patch all supported branches.  Per report from Harald Fuchs.
上级 e6faf910
......@@ -240,6 +240,7 @@ gistendscan(PG_FUNCTION_ARGS)
GISTScanOpaque so = (GISTScanOpaque) scan->opaque;
freeGISTstate(so->giststate);
pfree(so->giststate);
MemoryContextDelete(so->queueCxt);
MemoryContextDelete(so->tempCxt);
pfree(so->tmpTreeItem);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册