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));
|
||||
}
|
||||
else {
|
||||
if (dst->map->syms) {
|
||||
free(dst->map->syms);
|
||||
dst->map->syms = NULL;
|
||||
}
|
||||
}
|
||||
dst->map->num_syms = src->map->num_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));
|
||||
}
|
||||
else {
|
||||
if (dst->map->key_sym_map) {
|
||||
free(dst->map->key_sym_map);
|
||||
dst->map->key_sym_map = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (src->map->types && src->map->num_types) {
|
||||
if (src->map->num_types > dst->map->size_types ||
|
||||
|
@ -988,14 +984,11 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
|||
dst->map->types) {
|
||||
for (i = src->map->num_types, dtype = (dst->map->types + i);
|
||||
i < dst->map->num_types; i++, dtype++) {
|
||||
if (dtype->level_names)
|
||||
free(dtype->level_names);
|
||||
dtype->level_names = NULL;
|
||||
dtype->num_levels = 0;
|
||||
if (dtype->map_count) {
|
||||
if (dtype->map)
|
||||
free(dtype->map);
|
||||
if (dtype->preserve)
|
||||
free(dtype->preserve);
|
||||
}
|
||||
}
|
||||
|
@ -1099,9 +1092,7 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
|||
}
|
||||
else {
|
||||
if (dtype->map_count && i < dst->map->num_types) {
|
||||
if (dtype->map)
|
||||
free(dtype->map);
|
||||
if (dtype->preserve)
|
||||
free(dtype->preserve);
|
||||
}
|
||||
dtype->map_count = 0;
|
||||
|
@ -1117,16 +1108,15 @@ _XkbCopyClientMap(XkbDescPtr src, XkbDescPtr dst)
|
|||
if (dst->map->types) {
|
||||
for (i = 0, dtype = dst->map->types; i < dst->map->num_types;
|
||||
i++, dtype++) {
|
||||
if (dtype->level_names)
|
||||
free(dtype->level_names);
|
||||
if (dtype->map && dtype->map_count)
|
||||
free(dtype->map);
|
||||
if (dtype->preserve && dtype->map_count)
|
||||
free(dtype->preserve);
|
||||
}
|
||||
}
|
||||
free(dst->map->types);
|
||||
dst->map->types = NULL;
|
||||
}
|
||||
dst->map->num_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);
|
||||
}
|
||||
else {
|
||||
if (dst->map->modmap) {
|
||||
free(dst->map->modmap);
|
||||
dst->map->modmap = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (dst->map)
|
||||
XkbFreeClientMap(dst, XkbAllClientInfoMask, TRUE);
|
||||
|
@ -1186,11 +1174,9 @@ _XkbCopyServerMap(XkbDescPtr src, XkbDescPtr dst)
|
|||
src->max_key_code + 1);
|
||||
}
|
||||
else {
|
||||
if (dst->server->explicit) {
|
||||
free(dst->server->explicit);
|
||||
dst->server->explicit = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (src->server->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));
|
||||
}
|
||||
else {
|
||||
if (dst->server->acts) {
|
||||
free(dst->server->acts);
|
||||
dst->server->acts = NULL;
|
||||
}
|
||||
}
|
||||
dst->server->size_acts = src->server->size_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));
|
||||
}
|
||||
else {
|
||||
if (dst->server->key_acts) {
|
||||
free(dst->server->key_acts);
|
||||
dst->server->key_acts = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (src->server->behaviors) {
|
||||
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));
|
||||
}
|
||||
else {
|
||||
if (dst->server->behaviors) {
|
||||
free(dst->server->behaviors);
|
||||
dst->server->behaviors = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
else {
|
||||
if (dst->server->vmodmap) {
|
||||
free(dst->server->vmodmap);
|
||||
dst->server->vmodmap = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (dst->server)
|
||||
XkbFreeServerMap(dst, XkbAllServerInfoMask, TRUE);
|
||||
|
@ -1323,11 +1301,9 @@ _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst)
|
|||
(src->max_key_code + 1) * sizeof(XkbKeyNameRec));
|
||||
}
|
||||
else {
|
||||
if (dst->names->keys) {
|
||||
free(dst->names->keys);
|
||||
dst->names->keys = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (src->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));
|
||||
}
|
||||
else {
|
||||
if (dst->names->key_aliases) {
|
||||
free(dst->names->key_aliases);
|
||||
dst->names->key_aliases = NULL;
|
||||
}
|
||||
}
|
||||
dst->names->num_key_aliases = src->names->num_key_aliases;
|
||||
|
||||
if (src->names->num_rg) {
|
||||
|
@ -1368,7 +1342,6 @@ _XkbCopyNames(XkbDescPtr src, XkbDescPtr dst)
|
|||
src->names->num_rg * sizeof(Atom));
|
||||
}
|
||||
else {
|
||||
if (dst->names->radio_groups)
|
||||
free(dst->names->radio_groups);
|
||||
}
|
||||
dst->names->num_rg = src->names->num_rg;
|
||||
|
@ -1750,24 +1723,17 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
|
|||
j < dsection->num_doodads;
|
||||
j++, ddoodad++) {
|
||||
if (ddoodad->any.type == XkbTextDoodad) {
|
||||
if (ddoodad->text.text) {
|
||||
free(ddoodad->text.text);
|
||||
ddoodad->text.text = NULL;
|
||||
}
|
||||
if (ddoodad->text.font) {
|
||||
free(ddoodad->text.font);
|
||||
ddoodad->text.font = NULL;
|
||||
}
|
||||
}
|
||||
else if (ddoodad->any.type == XkbLogoDoodad) {
|
||||
if (ddoodad->logo.logo_name) {
|
||||
free(ddoodad->logo.logo_name);
|
||||
ddoodad->logo.logo_name = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (dsection->num_doodads)
|
||||
free(dsection->doodads);
|
||||
}
|
||||
|
||||
|
@ -1877,22 +1843,16 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
|
|||
i < dst->geom->num_doodads;
|
||||
i++, ddoodad++) {
|
||||
if (ddoodad->any.type == XkbTextDoodad) {
|
||||
if (ddoodad->text.text) {
|
||||
free(ddoodad->text.text);
|
||||
ddoodad->text.text = NULL;
|
||||
}
|
||||
if (ddoodad->text.font) {
|
||||
free(ddoodad->text.font);
|
||||
ddoodad->text.font = NULL;
|
||||
}
|
||||
}
|
||||
else if (ddoodad->any.type == XkbLogoDoodad) {
|
||||
if (ddoodad->logo.logo_name) {
|
||||
free(ddoodad->logo.logo_name);
|
||||
ddoodad->logo.logo_name = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
dst->geom->num_doodads = 0;
|
||||
dst->geom->doodads = NULL;
|
||||
}
|
||||
|
@ -1966,9 +1926,7 @@ _XkbCopyGeom(XkbDescPtr src, XkbDescPtr dst)
|
|||
dst->geom->num_key_aliases = dst->geom->sz_key_aliases;
|
||||
}
|
||||
else {
|
||||
if (dst->geom->key_aliases) {
|
||||
free(dst->geom->key_aliases);
|
||||
}
|
||||
dst->geom->key_aliases = NULL;
|
||||
dst->geom->num_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]);
|
||||
}
|
||||
else {
|
||||
if (dst->geom->label_font) {
|
||||
free(dst->geom->label_font);
|
||||
}
|
||||
dst->geom->label_font = NULL;
|
||||
dst->geom->label_color = NULL;
|
||||
dst->geom->base_color = NULL;
|
||||
|
@ -2035,11 +1991,9 @@ _XkbCopyIndicators(XkbDescPtr src, XkbDescPtr dst)
|
|||
memcpy(dst->indicators, src->indicators, sizeof(XkbIndicatorRec));
|
||||
}
|
||||
else {
|
||||
if (dst->indicators) {
|
||||
free(dst->indicators);
|
||||
dst->indicators = NULL;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -2056,11 +2010,9 @@ _XkbCopyControls(XkbDescPtr src, XkbDescPtr dst)
|
|||
memcpy(dst->ctrls, src->ctrls, sizeof(XkbControlsRec));
|
||||
}
|
||||
else {
|
||||
if (dst->ctrls) {
|
||||
free(dst->ctrls);
|
||||
dst->ctrls = NULL;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user