min()/max() macros conflict with ones defined by Windows (or at least MinGW)
[sgt/puzzles] / fifteen.c
index 4b37dd7..bf2cdf1 100644 (file)
--- a/fifteen.c
+++ b/fifteen.c
@@ -130,7 +130,7 @@ static game_params *custom_params(config_item *cfg)
 
 static char *validate_params(game_params *params)
 {
-    if (params->w < 2 && params->h < 2)
+    if (params->w < 2 || params->h < 2)
        return "Width and height must both be at least two";
 
     return NULL;
@@ -374,6 +374,7 @@ static game_state *dup_game(game_state *state)
 
 static void free_game(game_state *state)
 {
+    sfree(state->tiles);
     sfree(state);
 }