ref: f279c5eba035d018a8805a65a8a245b8b8d2ea2e
parent: 56781e60ba88728f56bf0241a22553008d76ef74
author: Simon Tatham <[email protected]>
date: Thu Aug 24 08:40:51 EDT 2023
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.
--- a/midend.c
+++ b/midend.c
@@ -1271,7 +1271,7 @@
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)