[cig-commits] [commit] knepley/upgrade-petsc-interface: Fix memory leak in extracting subfield. (79acad1)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Thu Nov 14 13:22:27 PST 2013


Repository : ssh://geoshell/pylith

On branch  : knepley/upgrade-petsc-interface
Link       : https://github.com/geodynamics/pylith/compare/e07734d32415380de05c5d97fd96009562f76035...bda5253a1aeb4b2402473b3320d6af6fb6d45ece

>---------------------------------------------------------------

commit 79acad15c648cbfdacdad4fcf23f9ae441c760a7
Author: Brad Aagaard <baagaard at usgs.gov>
Date:   Thu Nov 14 13:15:49 2013 -0800

    Fix memory leak in extracting subfield.


>---------------------------------------------------------------

79acad15c648cbfdacdad4fcf23f9ae441c760a7
 libsrc/pylith/topology/Field.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libsrc/pylith/topology/Field.cc b/libsrc/pylith/topology/Field.cc
index 1694056..5bac6c5 100644
--- a/libsrc/pylith/topology/Field.cc
+++ b/libsrc/pylith/topology/Field.cc
@@ -1400,6 +1400,7 @@ pylith::topology::Field::_extractSubfield(const Field& field,
   PYLITH_METHOD_BEGIN;
 
   clear();
+  _metadata.clear();
 
   const Metadata& subfieldMetadata = const_cast<Field&>(field).subfieldMetadata(name);
   const int subfieldIndex = subfieldMetadata.index;assert(subfieldIndex >= 0);
@@ -1409,6 +1410,7 @@ pylith::topology::Field::_extractSubfield(const Field& field,
   const int numSubfields = 1;
   int indicesSubfield[1];
   indicesSubfield[0] = subfieldIndex;
+  err = DMDestroy(&_dm);PYLITH_CHECK_ERROR(err);
   err = DMCreateSubDM(field.dmMesh(), numSubfields, indicesSubfield, &subfieldIS, &_dm);PYLITH_CHECK_ERROR(err);assert(_dm);
   err = ISDestroy(&subfieldIS);PYLITH_CHECK_ERROR(err);
   



More information about the CIG-COMMITS mailing list