Don't do the xorg_list_append a 2nd time when updating existing attributes.
Signed-off-by: Hans de Goede <hdego...@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 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel