From: Simon Tatham Date: Wed, 11 May 2011 18:11:28 +0000 (+0000) Subject: Fix segfault in Loopy printing, introduced when I added the dynamic X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=sgt-puzzles.git;a=commitdiff_plain;h=004ef734801aa3b0bb3e1a73aad0e59ac12d9514 Fix segfault in Loopy printing, introduced when I added the dynamic arrays 'textx' and 'texty' to the game_drawstate but failed to initialise them in the temporary drawstate used by game_print(). Thanks to Arun Giridhar for spotting this. [originally from svn r9173] --- diff --git a/loopy.c b/loopy.c index e7fb6cb..b84ca82 100644 --- a/loopy.c +++ b/loopy.c @@ -3805,6 +3805,10 @@ static void game_print(drawing *dr, game_state *state, int tilesize) grid *g = state->game_grid; ds->tilesize = tilesize; + ds->textx = snewn(g->num_faces, int); + ds->texty = snewn(g->num_faces, int); + for (i = 0; i < g->num_faces; i++) + ds->textx[i] = ds->texty[i] = -1; for (i = 0; i < g->num_dots; i++) { int x, y; @@ -3874,6 +3878,9 @@ static void game_print(drawing *dr, game_state *state, int tilesize) } } } + + sfree(ds->textx); + sfree(ds->texty); } #ifdef COMBINED