Skip to content

Commit

Permalink
qemu-keymap: Silence memory leak warning from Clang's sanitizer
Browse files Browse the repository at this point in the history
When compiling QEMU with "--enable-sanitizers --enable-xkbcommon --cc=clang"
there is a memory leak warning when running qemu-keymap:

 $ ./qemu-keymap -f pc-bios/keymaps/de -l de

 =================================================================
 ==610321==ERROR: LeakSanitizer: detected memory leaks

 Direct leak of 136 byte(s) in 1 object(s) allocated from:
     #0 0x5642830d0820 in __interceptor_calloc.part.11 asan_malloc_linux.cpp.o
     #1 0x7f31873b8d2b in xkb_state_new (/lib64/libxkbcommon.so.0+0x1dd2b) (BuildId: dd32581e2248833243f3f646324ae9b98469f025)

 SUMMARY: AddressSanitizer: 136 byte(s) leaked in 1 allocation(s).

It can be silenced by properly releasing the "state" again
after it has been used.

Message-Id: <[email protected]>
Reviewed-by: Peter Maydell <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
  • Loading branch information
huth committed Feb 27, 2023
1 parent f160a5b commit 5c70adb
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions qemu-keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,8 @@ 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,
Expand Down

0 comments on commit 5c70adb

Please sign in to comment.