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. 3
      prism/src/hybrid/PH_StochCumulReward.cc
  2. 3
      prism/src/hybrid/PH_StochTransient.cc
  3. 1
      prism/src/mtbdd/PM_StochBoundedUntil.cc
  4. 3
      prism/src/mtbdd/PM_StochCumulReward.cc
  5. 3
      prism/src/mtbdd/PM_StochTransient.cc
  6. 1
      prism/src/sparse/PS_StochCumulReward.cc
  7. 1
      prism/src/sparse/PS_StochTransient.cc

3
prism/src/hybrid/PH_StochCumulReward.cc

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

3
prism/src/hybrid/PH_StochTransient.cc

@ -305,7 +305,8 @@ jdouble time // time bound
// nb: we *do* free soln (which was originally init)
if (soln) delete[] soln;
if (soln2) delete[] soln2;
if (fgw.weights) delete[] fgw.weights;
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, sol);
if (fgw.weights) delete[] fgw.weights;
return ptr_to_jlong(sum);

3
prism/src/mtbdd/PM_StochCumulReward.cc

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

3
prism/src/mtbdd/PM_StochTransient.cc

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

Loading…
Cancel
Save