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