From 9ed56928d3d840ae183b62ef4692da5d02690dd8 Mon Sep 17 00:00:00 2001 From: jeff-davis Date: Thu, 15 Apr 2021 01:00:00 -0700 Subject: [PATCH] Columnar: fix use-after-free. (#4906) Co-authored-by: Jeff Davis --- src/backend/columnar/columnar_reader.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/columnar/columnar_reader.c b/src/backend/columnar/columnar_reader.c index f0995bf8a..770636d59 100644 --- a/src/backend/columnar/columnar_reader.c +++ b/src/backend/columnar/columnar_reader.c @@ -211,7 +211,6 @@ ColumnarReadNextRow(ColumnarReadState *readState, Datum *columnValues, bool *col if (!ReadStripeNextRow(readState->stripeReadState, columnValues, columnNulls)) { - EndStripeRead(readState->stripeReadState); AdvanceStripeRead(readState); continue; } @@ -326,6 +325,8 @@ AdvanceStripeRead(ColumnarReadState *readState) { readState->chunkGroupsFiltered += readState->stripeReadState->chunkGroupsFiltered; + EndStripeRead(readState->stripeReadState); + readState->currentStripe++; readState->stripeReadState = NULL; MemoryContextReset(readState->stripeReadContext);