diff --git a/src/backend/access/gist/gistscan.c b/src/backend/access/gist/gistscan.c index 2526a39..580b6ac 100644 --- a/src/backend/access/gist/gistscan.c +++ b/src/backend/access/gist/gistscan.c @@ -148,6 +148,11 @@ gistrescan(IndexScanDesc scan, ScanKey key, int nkeys, /* third or later time through */ MemoryContextReset(so->queueCxt); first_time = false; + /* + * scan->xs_itup is allocated in so->queueCxt and now it is invalid, + * so we need to reset it to prevent it from freeing in getNextNearest(). + */ + scan->xs_itup = NULL; } /*