This is an automatic generated email to let you know that the following patch 
were queued at the 
http://git.linuxtv.org/cgit.cgi/v4l-utils.git tree:

Subject: keytable: fix segfault when reading legacy keymaps
Author:  Matthias Reichl <h...@horus.com>
Date:    Wed Dec 20 17:00:03 2023 +0100

Since commit ae1492611432 ("keytable: remove line length limits")
ir-keytable crashes when reading keymaps in legacy (non-toml) format
and valgrind reports an UMR:

valgrind ir-keytable -w /etc/rc_keymaps/hiastest
...
==83788== Conditional jump or move depends on uninitialised value(s)
==83788==    at 0x48E8B8C: getdelim (iogetdelim.c:59)
==83788==    by 0x1105C6: getline (stdio.h:120)
==83788==    by 0x1105C6: parse_plain_keymap (keymap.c:98)
==83788==    by 0x1105C6: parse_keymap (keymap.c:533)
==83788==    by 0x112798: parse_opt (keytable.c:569)
==83788==    by 0x4986E50: group_parse (argp-parse.c:257)
==83788==    by 0x4986E50: parser_parse_opt (argp-parse.c:747)
==83788==    by 0x4986E50: parser_parse_next (argp-parse.c:867)
==83788==    by 0x4986E50: argp_parse (argp-parse.c:921)
==83788==    by 0x10E470: main (keytable.c:2071)

Fix this by properly initializing line to NULL so getline will allocate
a buffer instead of using some random memory locations.

Signed-off-by: Matthias Reichl <h...@horus.com>
Signed-off-by: Sean Young <s...@mess.org>
(cherry picked from commit f105c1eff03489f9e317009c4d9f56a61171ee5f)

 utils/common/keymap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---

http://git.linuxtv.org/cgit.cgi/v4l-utils.git/commit/?id=5fa4eb45ee2fd447c102b35da61c0b8920398b20
diff --git a/utils/common/keymap.c b/utils/common/keymap.c
index 04c5ef54723c..21c1c0b5d581 100644
--- a/utils/common/keymap.c
+++ b/utils/common/keymap.c
@@ -75,7 +75,7 @@ static error_t parse_plain_keymap(char *fname, struct keymap 
**keymap, bool verb
 {
        FILE *fin;
        int line_no = 0;
-       char *scancode, *keycode, *line;
+       char *scancode, *keycode, *line = NULL;
        size_t line_size;
        struct scancode_entry *se;
        struct keymap *map;

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
https://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to