(svn r5428) -Fix: [vehicles] sovled crash when trying to build a vehicle type, that is set to max 0 (spotted by roboman)
authorbjarni
Thu, 29 Jun 2006 09:05:30 +0000
changeset 4096 3ee959ce63c9
parent 4095 ad7a6bc2bf80
child 4097 0bdec93e9f13
(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
--- a/vehicle.c	Thu Jun 29 08:58:08 2006 +0000
+++ b/vehicle.c	Thu Jun 29 09:05:30 2006 +0000
@@ -2054,6 +2054,14 @@
 		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);