This is an automated email from the ASF dual-hosted git repository. yjhjstz pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/cloudberry.git
commit 0bb07c03c65141aa25b7db8ae0799afd0a285416 Author: Soumyadeep Chakraborty <[email protected]> AuthorDate: Wed Aug 24 09:23:50 2022 -0700 DatumStreamRead teardown: NULL out after pfree --- src/backend/access/aocs/aocsam.c | 3 +++ src/backend/utils/datumstream/datumstream.c | 6 ++++++ src/backend/utils/datumstream/datumstreamblock.c | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/backend/access/aocs/aocsam.c b/src/backend/access/aocs/aocsam.c index 482d4c2562..1f115295fb 100644 --- a/src/backend/access/aocs/aocsam.c +++ b/src/backend/access/aocs/aocsam.c @@ -639,6 +639,7 @@ aocs_endscan(AOCSScanDesc scan) close_ds_read(scan->columnScanInfo.ds, scan->columnScanInfo.relationTupleDesc->natts); pfree(scan->columnScanInfo.ds); + scan->columnScanInfo.ds = NULL; } if (scan->columnScanInfo.relationTupleDesc) @@ -1818,7 +1819,9 @@ aocs_fetch_finish(AOCSFetchDesc aocsFetchDesc) Assert(datumStreamFetchDesc->datumStream != NULL); datumstreamread_close_file(datumStreamFetchDesc->datumStream); destroy_datumstreamread(datumStreamFetchDesc->datumStream); + datumStreamFetchDesc->datumStream = NULL; pfree(datumStreamFetchDesc); + aocsFetchDesc->datumStreamFetchDesc[colno] = NULL; } } pfree(aocsFetchDesc->datumStreamFetchDesc); diff --git a/src/backend/utils/datumstream/datumstream.c b/src/backend/utils/datumstream/datumstream.c index 24b387f286..9c878db69f 100644 --- a/src/backend/utils/datumstream/datumstream.c +++ b/src/backend/utils/datumstream/datumstream.c @@ -787,9 +787,15 @@ destroy_datumstreamread(DatumStreamRead * ds) DatumStreamBlockRead_Finish(&ds->blockRead); if (ds->large_object_buffer) + { pfree(ds->large_object_buffer); + ds->large_object_buffer = NULL; + } if (ds->datum_upgrade_buffer) + { pfree(ds->datum_upgrade_buffer); + ds->datum_upgrade_buffer = NULL; + } AppendOnlyStorageRead_FinishSession(&ds->ao_read); diff --git a/src/backend/utils/datumstream/datumstreamblock.c b/src/backend/utils/datumstream/datumstreamblock.c index 76783e28fd..7c65b1090d 100755 --- a/src/backend/utils/datumstream/datumstreamblock.c +++ b/src/backend/utils/datumstream/datumstreamblock.c @@ -4492,7 +4492,8 @@ DatumStreamBlockWrite_Finish( dsw->null_bitmap_buffer = NULL; } - if (dsw->datum_buffer != NULL) { + if (dsw->datum_buffer != NULL) + { pfree(dsw->datum_buffer); dsw->datum_buffer = NULL; } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
