In avahi-03-entry.diff
The function void avahi_cleanup_dead_entries(AvahiServer *s)

attempts to free up group and entry. The same freeing function,
avahi_service_free()

which is where the corruption has occurred because the line
    /* Remove from associated group */
    if (as->group)
    AVAHI_LLIST_REMOVE(AvahiService, services, as->group->services, as);

has been called twice.
The fix is to remove these lines fro the current patch.

2$ svn diff
Index: patches/avahi-03-entry.diff
===================================================================
--- patches/avahi-03-entry.diff    (revision 17476)
+++ patches/avahi-03-entry.diff    (working copy)
@@ -88,10 +88,6 @@
 +    /* Remove from linked list */
 +    AVAHI_LLIST_REMOVE(AvahiService, services, s->services, as);
 +
-+    /* Remove from associated group */
-+    if (as->group)
-+        AVAHI_LLIST_REMOVE(AvahiService, services, 
as->group->services, as);
-+
 +    if (as->name)
 +        avahi_free(as->name);
 +


-Ghee


Reply via email to