Changeset 25337


Ignore:
Timestamp:
08/01/20 21:41:32 (5 years ago)
Author:
Mathieu Morlighem
Message:

BUG: fixing a bunch of memory leak (nothing major though)

Location:
issm/trunk-jpl/src/c
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/c/cores/controladm1qn3_core.cpp

    r25330 r25337  
    418418
    419419        /*Record cost function values and delete Jtemp*/
    420         for(int i=0;i<num_responses;i++) Jlist[(*Jlisti)*JlistN+i] = reCast<IssmPDouble>(dependents[i]);
     420        for(int i=0;i<num_responses;i++) Jlist[(*Jlisti)*JlistN+i] = dependents[i];
    421421        Jlist[(*Jlisti)*JlistN+num_responses] = reCast<IssmPDouble>(J);
    422422
     
    464464        xDelete<double>(XL);
    465465        xDelete<int>(control_enum);
     466        xDelete<int>(M);
    466467        xDelete<int>(N);
    467468        xDelete<double>(scaling_factors);
     469        xDelete<IssmPDouble>(dependents);
    468470        xDelete<IssmPDouble>(totalgradient);
     471        delete dependent_objects;
    469472}/*}}}*/
    470473void controladm1qn3_core(FemModel* femmodel){/*{{{*/
     
    651654        xDelete<IssmPDouble>(mystruct.Jlist);
    652655        xDelete<int>(mystruct.i);
     656        xDelete<int>(control_enum);
     657        xDelete<int>(M);
     658        xDelete<int>(N);
    653659}/*}}}*/
    654660
  • TabularUnified issm/trunk-jpl/src/c/cores/controlvalidation_core.cpp

    r23324 r25337  
    338338        xDelete<double>(X0);
    339339        xDelete<IssmDouble>(scaling_factors);
     340        delete dependent_objects;
    340341}
  • TabularUnified issm/trunk-jpl/src/c/cores/transient_core.cpp

    r25066 r25337  
    278278        /*Free ressources:*/
    279279        if(numoutputs){for(int i=0;i<numoutputs;i++){xDelete<char>(requested_outputs[i]);} xDelete<char*>(requested_outputs);}
     280        delete dependent_objects;
    280281}
  • TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/Control/UpdateElementsAndMaterialsControl.cpp

    r25322 r25337  
    297297                        xDelete<IssmDouble>(independents_min);
    298298                        xDelete<IssmDouble>(independents_max);
     299                        xDelete<char>(iofieldname);
    299300
    300301                }
Note: See TracChangeset for help on using the changeset viewer.