summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/registry.c10
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;