aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--loopy.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/loopy.c b/loopy.c
index 1e041f9..18da2e8 100644
--- a/loopy.c
+++ b/loopy.c
@@ -777,10 +777,13 @@ static const char *validate_desc(const game_params *params, const char *desc)
* know is the precise number of faces. */
grid_desc = extract_grid_desc(&desc);
ret = grid_validate_desc(grid_types[params->type], params->w, params->h, grid_desc);
- if (ret) return ret;
+ if (ret) {
+ sfree(grid_desc);
+ return ret;
+ }
g = loopy_generate_grid(params, grid_desc);
- if (grid_desc) sfree(grid_desc);
+ sfree(grid_desc);
for (; *desc; ++desc) {
if ((*desc >= '0' && *desc <= '9') || (*desc >= 'A' && *desc <= 'Z')) {