Verify sanity of location arrays

This commit is contained in:
NHOrus 2017-08-13 15:16:09 +01:00
parent 36f72f1902
commit f0dc3d3b7c

View file

@ -144,7 +144,21 @@ bool is_valid(struct game_t valgame)
valgame.oldloc < -1 || valgame.oldloc > NLOCATIONS) { valgame.oldloc < -1 || valgame.oldloc > NLOCATIONS) {
return false; return false;
} }
/* Bounds check for location arrays
*/
for (int i = 0; i <= NDWARVES; i++) {
if (valgame.dloc[i] < -1 || valgame.dloc[i] > NLOCATIONS ||
valgame.odloc[i] < -1 || valgame.odloc[i] > NLOCATIONS) {
return false;
}
}
for (int i = 0; i <= NOBJECTS; i++) {
if (valgame.place[i] < -1 || valgame.place[i] > NLOCATIONS ||
valgame.fixed[i] < -1 || valgame.fixed[i] > NLOCATIONS) {
return false;
}
}
return true; return true;
} }