<URL: http://bugs.freeciv.org/Ticket/Display.html?id=38558 >


If the player list is full (all player and pirate slots full) the client may 
crash during automove phase.  This is caused by the server reporting phase 32 
(which is invalid).



client/text.c:581 then calls

astr_add_line(&str, _("Moving: %s"), get_player(game.info.phase)->name);



as game.info.phase is out of range, get_player returns NULL, resulting in a 
random pointer being passed to astr_add_line.



to correct this, this call should be changed to



if (is_valid_player_id(game.info.phase)) {

  astr_add_line(&str, _("Moving: %s"), get_player(game.info.phase)->name);

}



_______________________________________________
Join Excite! - http://www.excite.com
The most personalized portal on the Web!




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

Reply via email to