aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2023-08-24 12:40:51 +0100
committerSimon Tatham <anakin@pobox.com>2023-08-24 12:46:38 +0100
commitf279c5eba035d018a8805a65a8a245b8b8d2ea2e (patch)
tree8f67c5a1084e7b82f665898ff2ca768b89c2482b
parent56781e60ba88728f56bf0241a22553008d76ef74 (diff)
downloadpuzzles-f279c5eba035d018a8805a65a8a245b8b8d2ea2e.zip
puzzles-f279c5eba035d018a8805a65a8a245b8b8d2ea2e.tar.gz
puzzles-f279c5eba035d018a8805a65a8a245b8b8d2ea2e.tar.bz2
puzzles-f279c5eba035d018a8805a65a8a245b8b8d2ea2e.tar.xz
midend_request_keys: fix memory leak of a game_params.
Thanks to Steffen Bauer for spotting this. The call to midend_get_params(me) was making a duplicate of me->params, and nothing was freeing it. Since the game_params is passed to request_keys as a const pointer, it should be safe to pass me->params itself, so that instead of adding a free, we can remove the unnecessary allocation.
-rw-r--r--midend.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/midend.c b/midend.c
index d662d7a..34290cc 100644
--- a/midend.c
+++ b/midend.c
@@ -1271,7 +1271,7 @@ key_label *midend_request_keys(midend *me, int *n)
if(me->ourgame->request_keys)
{
- keys = me->ourgame->request_keys(midend_get_params(me), &nkeys);
+ keys = me->ourgame->request_keys(me->params, &nkeys);
for(i = 0; i < nkeys; ++i)
{
if(!keys[i].label)