From 8172c780efe2ed009362b5d1d77bd4819db4fadc Mon Sep 17 00:00:00 2001 From: Joachim Klein Date: Sat, 27 Apr 2019 08:25:14 +0200 Subject: [PATCH] Result: Clear previously stored result vector Avoids DD leak when a previously stored result vector is overwritten (nested filters), e.g. from prism prism-examples/dice/dice.pm -pf 'filter(sum, P=?[F d=1]) + 0' -mtbdd -exportvector stdout --- prism/src/prism/Result.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/prism/src/prism/Result.java b/prism/src/prism/Result.java index ed62c78f..e55eabcf 100644 --- a/prism/src/prism/Result.java +++ b/prism/src/prism/Result.java @@ -106,6 +106,10 @@ public class Result */ public void setVector(StateVector vect) { + // If we have a vector that was previously stored, clear it. + if (this.vect != null) { + this.vect.clear(); + } this.vect = vect; }