[PATCH 3/4] libkeymap: add NULL check in kt_latin symbol lookup

Krdyan Areg <[email protected]> Sat, 14 Feb 2026 20:27:32 +0300
Newsgroups dev.linux.lists.kbd
Message-ID <[email protected]>
The get_sym() function can return NULL for invalid or unassigned
symbol indices. Passing NULL to strcmp() would cause a crash.

Add a NULL check before comparing symbol names.

Signed-off-by: Krdyan Areg <[email protected]>
---
 src/libkeymap/ksyms.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/libkeymap/ksyms.c b/src/libkeymap/ksyms.c
index 680653b..caf41e2 100644
--- a/src/libkeymap/ksyms.c
+++ b/src/libkeymap/ksyms.c
@@ -293,7 +293,8 @@ kt_latin(struct lk_ctx *ctx, const char *s, int direction)
 			: syms[KT_LATIN].size);
 
 	for (i = 0; i < max; i++) {
-		if (!strcmp(s, get_sym(ctx, KT_LATIN, i)))
+		const char *ksym = get_sym(ctx, KT_LATIN, i);
+		if (ksym && !strcmp(s, ksym))
 			return K(KT_LATIN, i);
 	}
 
-- 
2.52.0