# HG changeset patch # User rubidium # Date 2013-11-23 18:07:11 # Node ID d53678a53cebd5fc08bb4db81294ef94d592bb98 # Parent 99f34135afdd18a8e6d720dba1262cfb8ed024ff (svn r26066) -Fix: possible NULL dereference when resolving industry scope diff --git a/src/newgrf_industries.cpp b/src/newgrf_industries.cpp --- a/src/newgrf_industries.cpp +++ b/src/newgrf_industries.cpp @@ -447,13 +447,15 @@ TownScopeResolver *IndustriesResolverObj { 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; }