summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAkihiko Odaki <akihiko.odaki@daynix.com>2024-05-24 14:35:47 +0900
committerThomas Huth <thuth@redhat.com>2024-05-29 12:41:56 +0200
commit2523baf7fb4ddca900647be7ac39bce31eae2d42 (patch)
treefe13753eec1bd077f3fe666f13b6b2cb005b5be2
parentbde26d90ae9f7551cac90e117fc7216c807a3bfe (diff)
downloadfocaccia-qemu-2523baf7fb4ddca900647be7ac39bce31eae2d42.tar.gz
focaccia-qemu-2523baf7fb4ddca900647be7ac39bce31eae2d42.zip
qemu-keymap: Make references to allocations static
LeakSanitizer complains about allocations whose references are held
only by automatic variables. It is possible to free them to suppress
the complaints, but it is a chore to make sure they are freed in all
exit paths so make them static instead.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240524-xkb-v4-1-2de564e5c859@daynix.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
-rw-r--r--qemu-keymap.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/qemu-keymap.c b/qemu-keymap.c
index 8c80f7a4ed..701e4332af 100644
--- a/qemu-keymap.c
+++ b/qemu-keymap.c
@@ -154,9 +154,9 @@ static xkb_mod_mask_t get_mod(struct xkb_keymap *map, const char *name)
 
 int main(int argc, char *argv[])
 {
-    struct xkb_context *ctx;
-    struct xkb_keymap *map;
-    struct xkb_state *state;
+    static struct xkb_context *ctx;
+    static struct xkb_keymap *map;
+    static struct xkb_state *state;
     xkb_mod_index_t mod, mods;
     int rc;
 
@@ -234,8 +234,6 @@ int main(int argc, char *argv[])
 
     state = xkb_state_new(map);
     xkb_keymap_key_for_each(map, walk_map, state);
-    xkb_state_unref(state);
-    state = NULL;
 
     /* add quirks */
     fprintf(outfile,