diff options
| author | Ben Harris <bjh21@bjh21.me.uk> | 2023-02-13 20:17:58 +0000 |
|---|---|---|
| committer | Ben Harris <bjh21@bjh21.me.uk> | 2023-02-13 20:49:05 +0000 |
| commit | e336513be755159158c5ba017c91b018ad4cd36c (patch) | |
| tree | 3b16eb4e5626b3e524deebf7ace533eb373176d2 | |
| parent | 73c7bc090155ab8c4661feaeea9e6a6e74ee6f77 (diff) | |
| download | puzzles-e336513be755159158c5ba017c91b018ad4cd36c.zip puzzles-e336513be755159158c5ba017c91b018ad4cd36c.tar.gz puzzles-e336513be755159158c5ba017c91b018ad4cd36c.tar.bz2 puzzles-e336513be755159158c5ba017c91b018ad4cd36c.tar.xz | |
Loopy: free the grid description string if it's invalid
| -rw-r--r-- | loopy.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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')) { |