Fix crash on switching to ICS xiangqi game
authorH.G. Muller <h.g.muller@hccnet.nl>
Fri, 26 Mar 2010 20:12:19 +0000 (21:12 +0100)
committerArun Persaud <arun@nubati.net>
Sat, 27 Mar 2010 18:37:24 +0000 (11:37 -0700)
The oldBoard was a local variable, and only squares of the old board
were initialized. This led to a crash if the copied board was enlarged,
and then displayed. The variable is now declared static, so the
uninitialized squares contain harmless zeros.

backend.c

index a5e26db..c58c091 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -1983,7 +1983,7 @@ void
 VariantSwitch(Board board, VariantClass newVariant)
 {
    int newHoldingsWidth, newWidth = 8, newHeight = 8, i, j;
-   Board oldBoard;
+   static Board oldBoard;
 
    startedFromPositionFile = FALSE;
    if(gameInfo.variant == newVariant) return;