Browse Source

symbolic stochastic computations: fix memory leak of the FoxGlynnWeights weights array

master
Joachim Klein 8 years ago
committed by Dave Parker
parent
commit
a412c9e30c
  1. 1
      prism/src/hybrid/PH_StochCumulReward.cc
  2. 1
      prism/src/hybrid/PH_StochTransient.cc
  3. 1
      prism/src/mtbdd/PM_StochBoundedUntil.cc
  4. 1
      prism/src/mtbdd/PM_StochCumulReward.cc
  5. 1
      prism/src/mtbdd/PM_StochTransient.cc
  6. 1
      prism/src/sparse/PS_StochCumulReward.cc
  7. 1
      prism/src/sparse/PS_StochTransient.cc

1
prism/src/hybrid/PH_StochCumulReward.cc

@ -336,6 +336,7 @@ jdouble time // time bound
if (diags_dist) delete diags_dist; if (diags_dist) delete diags_dist;
if (soln) delete[] soln; if (soln) delete[] soln;
if (soln2) delete[] soln2; if (soln2) delete[] soln2;
if (fgw.weights) delete[] fgw.weights;
return ptr_to_jlong(sum); return ptr_to_jlong(sum);
} }

1
prism/src/hybrid/PH_StochTransient.cc

@ -305,6 +305,7 @@ jdouble time // time bound
// nb: we *do* free soln (which was originally init) // nb: we *do* free soln (which was originally init)
if (soln) delete[] soln; if (soln) delete[] soln;
if (soln2) delete[] soln2; if (soln2) delete[] soln2;
if (fgw.weights) delete[] fgw.weights;
return ptr_to_jlong(sum); return ptr_to_jlong(sum);
} }

1
prism/src/mtbdd/PM_StochBoundedUntil.cc

@ -331,7 +331,6 @@ jlong __jlongpointer mu // probs for multiplying
} }
Cudd_RecursiveDeref(ddman, diags); Cudd_RecursiveDeref(ddman, diags);
Cudd_RecursiveDeref(ddman, sol); Cudd_RecursiveDeref(ddman, sol);
if (fgw.weights) delete[] fgw.weights; if (fgw.weights) delete[] fgw.weights;
return ptr_to_jlong(sum); return ptr_to_jlong(sum);

1
prism/src/mtbdd/PM_StochCumulReward.cc

@ -244,6 +244,7 @@ jdouble time // time bound
Cudd_RecursiveDeref(ddman, q); Cudd_RecursiveDeref(ddman, q);
Cudd_RecursiveDeref(ddman, diags); Cudd_RecursiveDeref(ddman, diags);
Cudd_RecursiveDeref(ddman, sol); Cudd_RecursiveDeref(ddman, sol);
if (fgw.weights) delete[] fgw.weights;
return ptr_to_jlong(sum); return ptr_to_jlong(sum);
} }

1
prism/src/mtbdd/PM_StochTransient.cc

@ -312,6 +312,7 @@ jdouble time // time
Cudd_RecursiveDeref(ddman, sol); Cudd_RecursiveDeref(ddman, sol);
// nb: we deref init, even though it is passed in as a param // nb: we deref init, even though it is passed in as a param
Cudd_RecursiveDeref(ddman, init); Cudd_RecursiveDeref(ddman, init);
if (fgw.weights) delete[] fgw.weights;
return ptr_to_jlong(sum); return ptr_to_jlong(sum);
} }

1
prism/src/sparse/PS_StochCumulReward.cc

@ -362,6 +362,7 @@ jdouble time // time bound
if (diags_dist) delete diags_dist; if (diags_dist) delete diags_dist;
if (soln) delete[] soln; if (soln) delete[] soln;
if (soln2) delete[] soln2; if (soln2) delete[] soln2;
if (fgw.weights) delete[] fgw.weights;
return ptr_to_jlong(sum); return ptr_to_jlong(sum);
} }

1
prism/src/sparse/PS_StochTransient.cc

@ -330,6 +330,7 @@ jdouble time // time bound
// nb: we *do* free soln (which was originally init) // nb: we *do* free soln (which was originally init)
if (soln) delete[] soln; if (soln) delete[] soln;
if (soln2) delete[] soln2; if (soln2) delete[] soln2;
if (fgw.weights) delete[] fgw.weights;
return ptr_to_jlong(sum); return ptr_to_jlong(sum);
} }

Loading…
Cancel
Save