From 0df769f3edc4bb20fa6db8459b2f2f4033f98689 Mon Sep 17 00:00:00 2001 From: bjarni Date: Thu, 29 Jun 2006 09:05:30 +0000 Subject: [PATCH] (svn r5428) -Fix: [vehicles] sovled crash when trying to build a vehicle type, that is set to max 0 (spotted by roboman) somebody might add a better string than "too many vehicles in game" since none are allowed, but at least it will not crash anymore --- vehicle.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/vehicle.c b/vehicle.c index 163c662769..9674a2a99e 100644 --- a/vehicle.c +++ b/vehicle.c @@ -2054,6 +2054,14 @@ UnitID GetFreeUnitNumber(byte type) default: NOT_REACHED(); } + if (max == 0) { + /* we can't build any of this kind of vehicle, so we just return 1 instead of looking for a free number + * a max of 0 will cause the following code to write to a NULL pointer + * We know that 1 is bigger than the max allowed vehicle number, so it's the same as returning something, that is too big + */ + return 1; + } + if (max > gmax) { gmax = max; free(cache);