summaryrefslogtreecommitdiff
path: root/src/company_base.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/company_base.h')
-rw-r--r--src/company_base.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/company_base.h b/src/company_base.h
index 665cfe08a..b92db880b 100644
--- a/src/company_base.h
+++ b/src/company_base.h
@@ -28,7 +28,7 @@ struct CompanyEconomyEntry {
* otherwise more (or less) companies will be allowed to be
* created than what MAX_COMPANIES specifies!
*/
-DECLARE_OLD_POOL(Company, Company, 1, MAX_COMPANIES >> 1)
+DECLARE_OLD_POOL(Company, Company, 1, (MAX_COMPANIES + 1) >> 1)
struct Company : PoolItem<Company, CompanyByte, &_Company_pool> {
Company(uint16 name_1 = 0, bool is_ai = false);
@@ -86,7 +86,7 @@ struct Company : PoolItem<Company, CompanyByte, &_Company_pool> {
static inline bool IsValidCompanyID(CompanyID company)
{
- return (uint)company < GetCompanyPoolSize() && GetCompany(company)->IsValid();
+ return company < MAX_COMPANIES && (uint)company < GetCompanyPoolSize() && GetCompany(company)->IsValid();
}
#define FOR_ALL_COMPANIES_FROM(d, start) for (d = GetCompany(start); d != NULL; d = (d->index + 1U < GetCompanyPoolSize()) ? GetCompany(d->index + 1U) : NULL) if (d->IsValid())