From: jeon Date: Tue, 5 Nov 2019 09:52:25 +0000 (+0900) Subject: xkbcomp: add null checkers after calloc() X-Git-Tag: submit/tizen/20220208.095446~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cc63cf3d13de04e24c2c42dc667b515e687b0432;p=platform%2Fupstream%2Flibxkbcommon.git xkbcomp: add null checkers after calloc() Change-Id: Ie5f050d20a678260f00778de20aad830c5b3208b --- diff --git a/src/xkbcomp/symbols.c b/src/xkbcomp/symbols.c index eb78412..c2cd6e0 100644 --- a/src/xkbcomp/symbols.c +++ b/src/xkbcomp/symbols.c @@ -698,8 +698,13 @@ AddSymbolsToKey(SymbolsInfo *info, KeyInfo *keyi, ExprDef *arrayNdx, 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, @@ -1439,6 +1444,10 @@ CopySymbolsDefToKeymap(struct xkb_keymap *keymap, SymbolsInfo *info, } 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) {