summaryrefslogtreecommitdiffstats
path: root/planner.c
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2013-12-07 23:54:14 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-12-08 09:41:28 +0100
commit28943d2defe437872dafa4c0959177b54c3de4d0 (patch)
tree1c199eca3b21efb997b640f1670dd390e282e9af /planner.c
parentd84f397790e1d2f3542a9eed978aa3e456c2976b (diff)
downloadsubsurface-28943d2defe437872dafa4c0959177b54c3de4d0.tar.gz
Add some assert guard around gas finding code
The code would have leaved gasidx undefined if it doesn't find a correct gas, so this asserts instead of using uninitialized variables as array index. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'planner.c')
-rw-r--r--planner.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/planner.c b/planner.c
index 0f21d1139..21878b6c5 100644
--- a/planner.c
+++ b/planner.c
@@ -4,6 +4,7 @@
*
* (c) Dirk Hohndel 2013
*/
+#include <assert.h>
#include <unistd.h>
#include <ctype.h>
#include <string.h>
@@ -409,6 +410,7 @@ static struct gaschanges *analyze_gaslist(struct diveplan *diveplan, struct dive
i++;
}
gaschanges[i].depth = dp->depth;
+ gaschanges[i].gasidx = -1;
do {
if (dive->cylinder[j].gasmix.o2.permille == dp->o2 &&
dive->cylinder[j].gasmix.he.permille == dp->he) {
@@ -417,6 +419,7 @@ static struct gaschanges *analyze_gaslist(struct diveplan *diveplan, struct dive
}
j++;
} while (j < MAX_CYLINDERS);
+ assert(gaschanges[i].gasidx != -1);
}
dp = dp->next;
}