summaryrefslogtreecommitdiff
path: root/src/cargomonitor.cpp
diff options
context:
space:
mode:
authoralberth <alberth@openttd.org>2014-07-12 17:04:14 +0000
committeralberth <alberth@openttd.org>2014-07-12 17:04:14 +0000
commit8fe8765aaa93e0c992305a7a9c4b21dd9c1842c7 (patch)
treedd7dcc52320f1a73f9fcb2af909e51fa6c1b36fb /src/cargomonitor.cpp
parent98194e7b6a2ad0615b8c68fa368e246f470ea09d (diff)
downloadopenttd-8fe8765aaa93e0c992305a7a9c4b21dd9c1842c7.tar.xz
(svn r26685) -Fix: Tighten parameter bound checks on GSCargoMonitor functions, and return -1 on out-of-bound parameters.
Diffstat (limited to 'src/cargomonitor.cpp')
-rw-r--r--src/cargomonitor.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cargomonitor.cpp b/src/cargomonitor.cpp
index 7e0ba9761..b1d52d6b1 100644
--- a/src/cargomonitor.cpp
+++ b/src/cargomonitor.cpp
@@ -69,7 +69,7 @@ void ClearCargoDeliveryMonitoring(CompanyID company)
* @param keep_monitoring After returning from this call, continue monitoring.
* @return Amount collected since last query/activation for the monitored combination.
*/
-static uint32 GetAmount(CargoMonitorMap &monitor_map, CargoMonitorID monitor, bool keep_monitoring)
+static int32 GetAmount(CargoMonitorMap &monitor_map, CargoMonitorID monitor, bool keep_monitoring)
{
CargoMonitorMap::iterator iter = monitor_map.find(monitor);
if (iter == monitor_map.end()) {
@@ -79,7 +79,7 @@ static uint32 GetAmount(CargoMonitorMap &monitor_map, CargoMonitorID monitor, bo
}
return 0;
} else {
- uint32 result = iter->second;
+ int32 result = iter->second;
iter->second = 0;
if (!keep_monitoring) monitor_map.erase(iter);
return result;
@@ -92,7 +92,7 @@ static uint32 GetAmount(CargoMonitorMap &monitor_map, CargoMonitorID monitor, bo
* @param keep_monitoring After returning from this call, continue monitoring.
* @return Amount of delivered cargo for the monitored combination.
*/
-uint32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring)
+int32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring)
{
return GetAmount(_cargo_deliveries, monitor, keep_monitoring);
}
@@ -104,7 +104,7 @@ uint32 GetDeliveryAmount(CargoMonitorID monitor, bool keep_monitoring)
* @return Amount of picked up cargo for the monitored combination.
* @note Cargo pick up is counted on final delivery, to prevent users getting credit for picking up cargo without delivering it.
*/
-uint32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring)
+int32 GetPickupAmount(CargoMonitorID monitor, bool keep_monitoring)
{
return GetAmount(_cargo_pickups, monitor, keep_monitoring);
}