diff options
author | Anton Lundin <glance@acc.umu.se> | 2013-12-07 23:54:14 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-12-08 09:41:28 +0100 |
commit | 28943d2defe437872dafa4c0959177b54c3de4d0 (patch) | |
tree | 1c199eca3b21efb997b640f1670dd390e282e9af | |
parent | d84f397790e1d2f3542a9eed978aa3e456c2976b (diff) | |
download | subsurface-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>
-rw-r--r-- | planner.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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; } |