xkb: Remove superfluous if(p) checks around free(p)
Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
parent
5d4e2c5940
commit
77ea20895c
|
@ -933,11 +933,9 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
src->map->size_syms * sizeof(KeySym));
|
src->map->size_syms * sizeof(KeySym));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->map->syms) {
|
|
||||||
free(dst->map->syms);
|
free(dst->map->syms);
|
||||||
dst->map->syms = NULL;
|
dst->map->syms = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dst->map->num_syms = src->map->num_syms;
|
dst->map->num_syms = src->map->num_syms;
|
||||||
dst->map->size_syms = src->map->size_syms;
|
dst->map->size_syms = src->map->size_syms;
|
||||||
|
|
||||||
|
@ -958,11 +956,9 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
(src->max_key_code + 1) * sizeof(XkbSymMapRec));
|
(src->max_key_code + 1) * sizeof(XkbSymMapRec));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->map->key_sym_map) {
|
|
||||||
free(dst->map->key_sym_map);
|
free(dst->map->key_sym_map);
|
||||||
dst->map->key_sym_map = NULL;
|
dst->map->key_sym_map = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (src->map->types && src->map->num_types) {
|
if (src->map->types && src->map->num_types) {
|
||||||
if (src->map->num_types > dst->map->size_types ||
|
if (src->map->num_types > dst->map->size_types ||
|
||||||
|
@ -988,14 +984,11 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
dst->map->types) {
|
dst->map->types) {
|
||||||
for (i = src->map->num_types, dtype = (dst->map->types + i);
|
for (i = src->map->num_types, dtype = (dst->map->types + i);
|
||||||
i < dst->map->num_types; i++, dtype++) {
|
i < dst->map->num_types; i++, dtype++) {
|
||||||
if (dtype->level_names)
|
|
||||||
free(dtype->level_names);
|
free(dtype->level_names);
|
||||||
dtype->level_names = NULL;
|
dtype->level_names = NULL;
|
||||||
dtype->num_levels = 0;
|
dtype->num_levels = 0;
|
||||||
if (dtype->map_count) {
|
if (dtype->map_count) {
|
||||||
if (dtype->map)
|
|
||||||
free(dtype->map);
|
free(dtype->map);
|
||||||
if (dtype->preserve)
|
|
||||||
free(dtype->preserve);
|
free(dtype->preserve);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1099,9 +1092,7 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dtype->map_count && i < dst->map->num_types) {
|
if (dtype->map_count && i < dst->map->num_types) {
|
||||||
if (dtype->map)
|
|
||||||
free(dtype->map);
|
free(dtype->map);
|
||||||
if (dtype->preserve)
|
|
||||||
free(dtype->preserve);
|
free(dtype->preserve);
|
||||||
}
|
}
|
||||||
dtype->map_count = 0;
|
dtype->map_count = 0;
|
||||||
|
@ -1117,16 +1108,15 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
if (dst->map->types) {
|
if (dst->map->types) {
|
||||||
for (i = 0, dtype = dst->map->types; i < dst->map->num_types;
|
for (i = 0, dtype = dst->map->types; i < dst->map->num_types;
|
||||||
i++, dtype++) {
|
i++, dtype++) {
|
||||||
if (dtype->level_names)
|
|
||||||
free(dtype->level_names);
|
free(dtype->level_names);
|
||||||
if (dtype->map && dtype->map_count)
|
if (dtype->map && dtype->map_count)
|
||||||
free(dtype->map);
|
free(dtype->map);
|
||||||
if (dtype->preserve && dtype->map_count)
|
if (dtype->preserve && dtype->map_count)
|
||||||
free(dtype->preserve);
|
free(dtype->preserve);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
free(dst->map->types);
|
free(dst->map->types);
|
||||||
dst->map->types = NULL;
|
dst->map->types = NULL;
|
||||||
}
|
|
||||||
dst->map->num_types = 0;
|
dst->map->num_types = 0;
|
||||||
dst->map->size_types = 0;
|
dst->map->size_types = 0;
|
||||||
}
|
}
|
||||||
|
@ -1144,12 +1134,10 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
memcpy(dst->map->modmap, src->map->modmap, src->max_key_code + 1);
|
memcpy(dst->map->modmap, src->map->modmap, src->max_key_code + 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->map->modmap) {
|
|
||||||
free(dst->map->modmap);
|
free(dst->map->modmap);
|
||||||
dst->map->modmap = NULL;
|
dst->map->modmap = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
if (dst->map)
|
if (dst->map)
|
||||||
XkbFreeClientMap(dst, XkbAllClientInfoMask, TRUE);
|
XkbFreeClientMap(dst, XkbAllClientInfoMask, TRUE);
|
||||||
|
@ -1186,11 +1174,9 @@ _XkbCopyServerMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
src->max_key_code + 1);
|
src->max_key_code + 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->server->explicit) {
|
|
||||||
free(dst->server->explicit);
|
free(dst->server->explicit);
|
||||||
dst->server->explicit = NULL;
|
dst->server->explicit = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (src->server->acts) {
|
if (src->server->acts) {
|
||||||
if (src->server->size_acts != dst->server->size_acts) {
|
if (src->server->size_acts != dst->server->size_acts) {
|
||||||
|
@ -1207,11 +1193,9 @@ _XkbCopyServerMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
src->server->size_acts * sizeof(XkbAction));
|
src->server->size_acts * sizeof(XkbAction));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->server->acts) {
|
|
||||||
free(dst->server->acts);
|
free(dst->server->acts);
|
||||||
dst->server->acts = NULL;
|
dst->server->acts = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dst->server->size_acts = src->server->size_acts;
|
dst->server->size_acts = src->server->size_acts;
|
||||||
dst->server->num_acts = src->server->num_acts;
|
dst->server->num_acts = src->server->num_acts;
|
||||||
|
|
||||||
|
@ -1232,11 +1216,9 @@ _XkbCopyServerMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
(src->max_key_code + 1) * sizeof(unsigned short));
|
(src->max_key_code + 1) * sizeof(unsigned short));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->server->key_acts) {
|
|
||||||
free(dst->server->key_acts);
|
free(dst->server->key_acts);
|
||||||
dst->server->key_acts = NULL;
|
dst->server->key_acts = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (src->server->behaviors) {
|
if (src->server->behaviors) {
|
||||||
if (src->max_key_code != dst->max_key_code) {
|
if (src->max_key_code != dst->max_key_code) {
|
||||||
|
@ -1255,11 +1237,9 @@ _XkbCopyServerMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
(src->max_key_code + 1) * sizeof(XkbBehavior));
|
(src->max_key_code + 1) * sizeof(XkbBehavior));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->server->behaviors) {
|
|
||||||
free(dst->server->behaviors);
|
free(dst->server->behaviors);
|
||||||
dst->server->behaviors = NULL;
|
dst->server->behaviors = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
memcpy(dst->server->vmods, src->server->vmods, XkbNumVirtualMods);
|
memcpy(dst->server->vmods, src->server->vmods, XkbNumVirtualMods);
|
||||||
|
|
||||||
|
@ -1280,12 +1260,10 @@ _XkbCopyServerMap(XkbDescPtr src, XkbDescPtr dst)
|
||||||
(src->max_key_code + 1) * sizeof(unsigned short));
|
(src->max_key_code + 1) * sizeof(unsigned short));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->server->vmodmap) {
|
|
||||||
free(dst->server->vmodmap);
|
free(dst->server->vmodmap);
|
||||||
dst->server->vmodmap = NULL;
|
dst->server->vmodmap = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
if (dst->server)
|
if (dst->server)
|
||||||
XkbFreeServerMap(dst, XkbAllServerInfoMask, TRUE);
|
XkbFreeServerMap(dst, XkbAllServerInfoMask, TRUE);
|
||||||
|
@ -1323,11 +1301,9 @@ _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst)
|
||||||
(src->max_key_code + 1) * sizeof(XkbKeyNameRec));
|
(src->max_key_code + 1) * sizeof(XkbKeyNameRec));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->names->keys) {
|
|
||||||
free(dst->names->keys);
|
free(dst->names->keys);
|
||||||
dst->names->keys = NULL;
|
dst->names->keys = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (src->names->num_key_aliases) {
|
if (src->names->num_key_aliases) {
|
||||||
if (src->names->num_key_aliases != dst->names->num_key_aliases) {
|
if (src->names->num_key_aliases != dst->names->num_key_aliases) {
|
||||||
|
@ -1346,11 +1322,9 @@ _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst)
|
||||||
src->names->num_key_aliases * sizeof(XkbKeyAliasRec));
|
src->names->num_key_aliases * sizeof(XkbKeyAliasRec));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->names->key_aliases) {
|
|
||||||
free(dst->names->key_aliases);
|
free(dst->names->key_aliases);
|
||||||
dst->names->key_aliases = NULL;
|
dst->names->key_aliases = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dst->names->num_key_aliases = src->names->num_key_aliases;
|
dst->names->num_key_aliases = src->names->num_key_aliases;
|
||||||
|
|
||||||
if (src->names->num_rg) {
|
if (src->names->num_rg) {
|
||||||
|
@ -1368,7 +1342,6 @@ _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst)
|
||||||
src->names->num_rg * sizeof(Atom));
|
src->names->num_rg * sizeof(Atom));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->names->radio_groups)
|
|
||||||
free(dst->names->radio_groups);
|
free(dst->names->radio_groups);
|
||||||
}
|
}
|
||||||
dst->names->num_rg = src->names->num_rg;
|
dst->names->num_rg = src->names->num_rg;
|
||||||
|
@ -1750,24 +1723,17 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
|
||||||
j < dsection->num_doodads;
|
j < dsection->num_doodads;
|
||||||
j++, ddoodad++) {
|
j++, ddoodad++) {
|
||||||
if (ddoodad->any.type == XkbTextDoodad) {
|
if (ddoodad->any.type == XkbTextDoodad) {
|
||||||
if (ddoodad->text.text) {
|
|
||||||
free(ddoodad->text.text);
|
free(ddoodad->text.text);
|
||||||
ddoodad->text.text = NULL;
|
ddoodad->text.text = NULL;
|
||||||
}
|
|
||||||
if (ddoodad->text.font) {
|
|
||||||
free(ddoodad->text.font);
|
free(ddoodad->text.font);
|
||||||
ddoodad->text.font = NULL;
|
ddoodad->text.font = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (ddoodad->any.type == XkbLogoDoodad) {
|
else if (ddoodad->any.type == XkbLogoDoodad) {
|
||||||
if (ddoodad->logo.logo_name) {
|
|
||||||
free(ddoodad->logo.logo_name);
|
free(ddoodad->logo.logo_name);
|
||||||
ddoodad->logo.logo_name = NULL;
|
ddoodad->logo.logo_name = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (dsection->num_doodads)
|
|
||||||
free(dsection->doodads);
|
free(dsection->doodads);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1877,22 +1843,16 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
|
||||||
i < dst->geom->num_doodads;
|
i < dst->geom->num_doodads;
|
||||||
i++, ddoodad++) {
|
i++, ddoodad++) {
|
||||||
if (ddoodad->any.type == XkbTextDoodad) {
|
if (ddoodad->any.type == XkbTextDoodad) {
|
||||||
if (ddoodad->text.text) {
|
|
||||||
free(ddoodad->text.text);
|
free(ddoodad->text.text);
|
||||||
ddoodad->text.text = NULL;
|
ddoodad->text.text = NULL;
|
||||||
}
|
|
||||||
if (ddoodad->text.font) {
|
|
||||||
free(ddoodad->text.font);
|
free(ddoodad->text.font);
|
||||||
ddoodad->text.font = NULL;
|
ddoodad->text.font = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (ddoodad->any.type == XkbLogoDoodad) {
|
else if (ddoodad->any.type == XkbLogoDoodad) {
|
||||||
if (ddoodad->logo.logo_name) {
|
|
||||||
free(ddoodad->logo.logo_name);
|
free(ddoodad->logo.logo_name);
|
||||||
ddoodad->logo.logo_name = NULL;
|
ddoodad->logo.logo_name = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
dst->geom->num_doodads = 0;
|
dst->geom->num_doodads = 0;
|
||||||
dst->geom->doodads = NULL;
|
dst->geom->doodads = NULL;
|
||||||
}
|
}
|
||||||
|
@ -1966,9 +1926,7 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
|
||||||
dst->geom->num_key_aliases = dst->geom->sz_key_aliases;
|
dst->geom->num_key_aliases = dst->geom->sz_key_aliases;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->geom->key_aliases) {
|
|
||||||
free(dst->geom->key_aliases);
|
free(dst->geom->key_aliases);
|
||||||
}
|
|
||||||
dst->geom->key_aliases = NULL;
|
dst->geom->key_aliases = NULL;
|
||||||
dst->geom->num_key_aliases = 0;
|
dst->geom->num_key_aliases = 0;
|
||||||
dst->geom->sz_key_aliases = 0;
|
dst->geom->sz_key_aliases = 0;
|
||||||
|
@ -1998,9 +1956,7 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
|
||||||
dst->geom->base_color = &(dst->geom->colors[i]);
|
dst->geom->base_color = &(dst->geom->colors[i]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->geom->label_font) {
|
|
||||||
free(dst->geom->label_font);
|
free(dst->geom->label_font);
|
||||||
}
|
|
||||||
dst->geom->label_font = NULL;
|
dst->geom->label_font = NULL;
|
||||||
dst->geom->label_color = NULL;
|
dst->geom->label_color = NULL;
|
||||||
dst->geom->base_color = NULL;
|
dst->geom->base_color = NULL;
|
||||||
|
@ -2035,11 +1991,9 @@ _XkbCopyIndicators(XkbDescPtr src, XkbDescPtr dst)
|
||||||
memcpy(dst->indicators, src->indicators, sizeof(XkbIndicatorRec));
|
memcpy(dst->indicators, src->indicators, sizeof(XkbIndicatorRec));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->indicators) {
|
|
||||||
free(dst->indicators);
|
free(dst->indicators);
|
||||||
dst->indicators = NULL;
|
dst->indicators = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2056,11 +2010,9 @@ _XkbCopyControls(XkbDescPtr src, XkbDescPtr dst)
|
||||||
memcpy(dst->ctrls, src->ctrls, sizeof(XkbControlsRec));
|
memcpy(dst->ctrls, src->ctrls, sizeof(XkbControlsRec));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (dst->ctrls) {
|
|
||||||
free(dst->ctrls);
|
free(dst->ctrls);
|
||||||
dst->ctrls = NULL;
|
dst->ctrls = NULL;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user