Fix: Protect against a few out of bounds or uninitialised usage errors

This commit is contained in:
Charles Pigott
2018-10-14 23:36:14 +01:00
committed by frosch
parent 52ed3bcbaa
commit b5028efc1f
9 changed files with 19 additions and 5 deletions

View File

@@ -145,6 +145,7 @@ static uint FindShipTrack(const Ship *v, TileIndex tile, DiagDirection dir, Trac
Track best_track = INVALID_TRACK;
assert(bits != TRACK_BIT_NONE);
do {
Track i = RemoveFirstTrack(&bits);
@@ -176,7 +177,7 @@ good:;
best_length = pfs.best_length;
bad:;
} while (bits != 0);
} while (bits != TRACK_BIT_NONE);
*track = best_track;
return best_bird_dist;

View File

@@ -28,6 +28,8 @@ template <typename Tpf> void DumpState(Tpf &pf1, Tpf &pf2)
pf2.DumpBase(dmp2);
FILE *f1 = fopen("yapf1.txt", "wt");
FILE *f2 = fopen("yapf2.txt", "wt");
assert(f1 != NULL);
assert(f2 != NULL);
fwrite(dmp1.m_out.Data(), 1, dmp1.m_out.Size(), f1);
fwrite(dmp2.m_out.Data(), 1, dmp2.m_out.Size(), f2);
fclose(f1);