From 0245cf77b4616b08c98d5f5eddf774cfd154f47b Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Mon, 2 Jul 2012 22:30:23 +0000 Subject: [PATCH] Bug fix: crash on invalid integer reward struct indices. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@5420 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/simulator/sampler/Sampler.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/prism/src/simulator/sampler/Sampler.java b/prism/src/simulator/sampler/Sampler.java index dada3a57..e10212f0 100644 --- a/prism/src/simulator/sampler/Sampler.java +++ b/prism/src/simulator/sampler/Sampler.java @@ -225,8 +225,9 @@ public abstract class Sampler if (rs == null) { rsi = 0; } else if (rs instanceof Expression) { - rsi = ((Expression) rs).evaluateInt() - 1; - rs = new Integer(rsi + 1); // for better error reporting below + rsi = ((Expression) rs).evaluateInt(); + rs = new Integer(rsi); // for better error reporting below + rsi = (rsi < 1 || rsi > mf.getNumRewardStructs()) ? -1 : rsi - 1; } else if (rs instanceof String) { rsi = mf.getRewardStructIndex((String) rs); }