From d18852170b99e6cd20a23ef7305cecd7b741a808 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 23 Nov 2013 18:07:11 +0000 Subject: (svn r26066) -Fix: possible NULL dereference when resolving industry scope --- src/newgrf_industries.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/newgrf_industries.cpp') diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp index 6716d2c03..e0953434e 100644 --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -447,13 +447,15 @@ TownScopeResolver *IndustriesResolverObject::GetTown() { if (this->town_scope == NULL) { Town *t = NULL; + bool readonly = true; if (this->industries_scope.industry != NULL) { t = this->industries_scope.industry->town; + readonly = this->industries_scope.industry->index == INVALID_INDUSTRY; } else if (this->industries_scope.tile != INVALID_TILE) { t = ClosestTownFromTile(this->industries_scope.tile, UINT_MAX); } if (t == NULL) return NULL; - this->town_scope = new TownScopeResolver(this, t, this->industries_scope.industry->index == INVALID_INDUSTRY); + this->town_scope = new TownScopeResolver(this, t, readonly); } return this->town_scope; } -- cgit v1.2.3-54-g00ecf