diff options
| author | Simon Tatham <anakin@pobox.com> | 2021-12-11 11:03:20 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2021-12-11 11:03:20 +0000 |
| commit | 3e006158451a7ff8f130cbcb7dd80f165a58396e (patch) | |
| tree | 6b95ee50c1c0ebf180c9b72ccc79138b41f0bc88 | |
| parent | 640f9235c79cdb1a924b0148cb312b0f02253364 (diff) | |
| download | puzzles-3e006158451a7ff8f130cbcb7dd80f165a58396e.zip puzzles-3e006158451a7ff8f130cbcb7dd80f165a58396e.tar.gz puzzles-3e006158451a7ff8f130cbcb7dd80f165a58396e.tar.bz2 puzzles-3e006158451a7ff8f130cbcb7dd80f165a58396e.tar.xz | |
Map: add missing sresize in new_game_desc().
Every time we append to the string 'ret', we check first that there's
enough space, and realloc it larger if it's getting close to full.
Except that I missed one case at the join between the two parts of the
encoding.
(Spotted because apparently on someone's build platform this led to a
compiler warning that 'ret' might be null. I think _that's_ not a
serious worry, but the missing resize was definitely unintentional.)
| -rw-r--r-- | map.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -1659,6 +1659,10 @@ static char *new_game_desc(const game_params *params, random_state *rs, } } + if (retlen + 10 >= retsize) { + retsize = retlen + 256; + ret = sresize(ret, retsize, char); + } ret[retlen++] = 'a'-1 + run; ret[retlen++] = ','; |