[PATCH 1/3] config_odev_add*_attribute: Don't add the attribute to the list twice
Hans de Goede
hdegoede at redhat.com
Mon Mar 3 08:25:58 PST 2014
Don't do the xorg_list_append a 2nd time when updating existing attributes.
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
config/config.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/config/config.c b/config/config.c
index 7971b87..28dac86 100644
--- a/config/config.c
+++ b/config/config.c
@@ -166,8 +166,11 @@ config_odev_add_attribute(struct OdevAttributes *attribs, int attrib,
struct OdevAttribute *oa;
oa = config_odev_find_attribute(attribs, attrib);
- if (!oa)
+ if (!oa) {
oa = calloc(1, sizeof(struct OdevAttribute));
+ if (oa)
+ xorg_list_append(&oa->member, &attribs->list);
+ }
if (!oa)
return FALSE;
@@ -175,7 +178,6 @@ config_odev_add_attribute(struct OdevAttributes *attribs, int attrib,
free(oa->attrib_name);
oa->attrib_name = strdup(attrib_name);
oa->attrib_type = ODEV_ATTRIB_STRING;
- xorg_list_append(&oa->member, &attribs->list);
return TRUE;
}
@@ -186,15 +188,17 @@ config_odev_add_int_attribute(struct OdevAttributes *attribs, int attrib,
struct OdevAttribute *oa;
oa = config_odev_find_attribute(attribs, attrib);
- if (!oa)
+ if (!oa) {
oa = calloc(1, sizeof(struct OdevAttribute));
+ if (oa)
+ xorg_list_append(&oa->member, &attribs->list);
+ }
if (!oa)
return FALSE;
oa->attrib_id = attrib;
oa->attrib_value = attrib_value;
oa->attrib_type = ODEV_ATTRIB_INT;
- xorg_list_append(&oa->member, &attribs->list);
return TRUE;
}
--
1.9.0
More information about the xorg-devel
mailing list