Fix yet another memory leak in the shared queue producer path.
authorPavan Deolasee <[email protected]>
Thu, 14 Apr 2016 09:19:35 +0000 (14:49 +0530)
committerPavan Deolasee <[email protected]>
Thu, 14 Apr 2016 09:19:35 +0000 (14:49 +0530)
src/backend/executor/producerReceiver.c

index 8dec452b6ae761b7bb59c9551e446e65e08d654e..b7a70338335b37d53465016b7deb829d6f78abf6 100644 (file)
@@ -57,6 +57,8 @@ producerStartupReceiver(DestReceiver *self, int operation, TupleDesc typeinfo)
                 */
                MemoryContext savecontext;
                savecontext = MemoryContextSwitchTo(PortalGetHeapMemory(ActivePortal));
+               if (myState->typeinfo)
+                       pfree(myState->typeinfo);
                myState->typeinfo = CreateTupleDescCopy(typeinfo);
                MemoryContextSwitchTo(savecontext);
        }