diff options
Diffstat (limited to 'src/registry.c')
-rw-r--r-- | src/registry.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/registry.c b/src/registry.c index 17b6650..65c2ed1 100644 --- a/src/registry.c +++ b/src/registry.c @@ -808,6 +808,11 @@ parse_language_list(xmlNode *language_list, struct rxkb_layout *layout) char *str = extract_text(node); struct rxkb_object *parent; + if (!str || strlen(str) != 3) { + free(str); + continue; + } + parent = &layout->base; code = rxkb_iso639_code_create(parent); code->code = str; @@ -827,6 +832,11 @@ parse_country_list(xmlNode *country_list, struct rxkb_layout *layout) char *str = extract_text(node); struct rxkb_object *parent; + if (!str || strlen(str) != 2) { + free(str); + continue; + } + parent = &layout->base; code = rxkb_iso3166_code_create(parent); code->code = str; |