gistendscan() forgot to free so->giststate.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 16 Sep 2011 08:28:11 +0000 (04:28 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 16 Sep 2011 08:28:11 +0000 (04:28 -0400)
commit0bbbf592153c31ac5e095db2956e947c15c8435b
tree3002bc0b11b7e3b7b89e13bf414611b8f5162341
parent7f7ed1716dea32ebe1f504c16538a175a075c758
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.
src/backend/access/gist/gistscan.c