From 3e006158451a7ff8f130cbcb7dd80f165a58396e Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sat, 11 Dec 2021 11:03:20 +0000 Subject: [PATCH] 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.) --- map.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/map.c b/map.c index 1cd80b6..22b24d6 100644 --- a/map.c +++ b/map.c @@ -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++] = ',';