diff options
author | smatz <smatz@openttd.org> | 2013-01-14 21:16:56 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2013-01-14 21:16:56 +0000 |
commit | 3a3162865b3174bddcc295fd4bd4eb5398a50ea5 (patch) | |
tree | aa526d8634c2addc8a92e7bfb2a1a81378212993 /src/cargotype.h | |
parent | 914bb708ad1558a10112e1001381d90348e82690 (diff) | |
download | openttd-3a3162865b3174bddcc295fd4bd4eb5398a50ea5.tar.xz |
(svn r24915) -Fix: Several out-of-bounds reads
Diffstat (limited to 'src/cargotype.h')
-rw-r--r-- | src/cargotype.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cargotype.h b/src/cargotype.h index ae38dcb25..fee461d7f 100644 --- a/src/cargotype.h +++ b/src/cargotype.h @@ -163,13 +163,13 @@ static inline bool IsCargoInClass(CargoID c, CargoClass cc) * @param var Reference getting the cargospec. * @see CargoSpec */ -#define FOR_ALL_SORTED_CARGOSPECS(var) for (uint8 index = 0; var = _sorted_cargo_specs[index], index < _sorted_cargo_specs_size; index++) +#define FOR_ALL_SORTED_CARGOSPECS(var) for (uint8 index = 0; index < _sorted_cargo_specs_size && (var = _sorted_cargo_specs[index], true) ; index++) /** * Loop header for iterating over 'real' cargoes, sorted by name. Phony cargoes like regearing cargoes are skipped. * @param var Reference getting the cargospec. * @see CargoSpec */ -#define FOR_ALL_SORTED_STANDARD_CARGOSPECS(var) for (uint8 index = 0; var = _sorted_cargo_specs[index], index < _sorted_standard_cargo_specs_size; index++) +#define FOR_ALL_SORTED_STANDARD_CARGOSPECS(var) for (uint8 index = 0; index < _sorted_standard_cargo_specs_size && (var = _sorted_cargo_specs[index], true); index++) #endif /* CARGOTYPE_H */ |