sym_index = darray_item(value->keysym_list.symsMapIndex, i);
leveli->num_syms = darray_item(value->keysym_list.symsNumEntries, i);
- if (leveli->num_syms > 1)
+ if (leveli->num_syms > 1) {
leveli->u.syms = calloc(leveli->num_syms, sizeof(*leveli->u.syms));
+ if (!leveli->u.syms) {
+ log_err(info->ctx, "Failed to allocate memory for leveli->u.syms\n");
+ continue;
+ }
+ }
for (unsigned j = 0; j < leveli->num_syms; j++) {
xkb_keysym_t keysym = darray_item(value->keysym_list.syms,
}
key->groups = calloc(key->num_groups, sizeof(*key->groups));
+ if (!key->groups) {
+ log_err(info->ctx, "Failed to allocate memory for key->groups\n");
+ return false;
+ }
/* Find and assign the groups' types in the keymap. */
darray_enumerate(i, groupi, keyi->groups) {