Author: cazfi
Date: Sun Nov 16 08:02:32 2014
New Revision: 27048

URL: http://svn.gna.org/viewcvs/freeciv?rev=27048&view=rev
Log:
Avoid infinite recursion in claiming base that can claim borders.

See bug #22949

Modified:
    trunk/server/maphand.c

Modified: trunk/server/maphand.c
URL: 
http://svn.gna.org/viewcvs/freeciv/trunk/server/maphand.c?rev=27048&r1=27047&r2=27048&view=diff
==============================================================================
--- trunk/server/maphand.c      (original)
+++ trunk/server/maphand.c      Sun Nov 16 08:02:32 2014
@@ -1920,11 +1920,14 @@
 {
   struct player *base_loser = base_owner(ptile);
 
+  /* This MUST be before potentially recursive call to map_claim_base(),
+   * so that the recursive call will get new owner == base_loser and
+   * abort recursion. */
+  ptile->extras_owner = powner;
+
   base_type_iterate(pbase) {
     map_claim_base(ptile, pbase, powner, base_loser);
   } base_type_iterate_end;
-
-  ptile->extras_owner = powner;
 }
 
 /*************************************************************************


_______________________________________________
Freeciv-commits mailing list
Freeciv-commits@gna.org
https://mail.gna.org/listinfo/freeciv-commits

Reply via email to