From 3a3162865b3174bddcc295fd4bd4eb5398a50ea5 Mon Sep 17 00:00:00 2001 From: smatz Date: Mon, 14 Jan 2013 21:16:56 +0000 Subject: (svn r24915) -Fix: Several out-of-bounds reads --- src/cargotype.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/cargotype.h') 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 */ -- cgit v1.2.3-54-g00ecf