From 203a5ed26d8d955dbe0490b35274571269751d8c Mon Sep 17 00:00:00 2001
From: Eric Wong <normalperson@yhbt.net>
Date: Sun, 2 Sep 2007 02:18:09 +0000
Subject: zeroconf: avoid passing NULLs to Avahi *_free() routines

This should fix Debian bug #428551
(mpd crashes when restarting the dbus daemon)

git-svn-id: https://svn.musicpd.org/mpd/trunk@6844 09075e82-0dd4-0310-85a5-a0d7c8717e4f
---
 src/zeroconf.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/zeroconf.c b/src/zeroconf.c
index 539f482c7..1836c64ca 100644
--- a/src/zeroconf.c
+++ b/src/zeroconf.c
@@ -309,10 +309,12 @@ static void avahiClientCallback(AvahiClient *c, AvahiClientState state, void *us
 				int reason = avahi_client_errno(c);
 				if( reason == AVAHI_ERR_DISCONNECTED ) {
 					LOG( "Avahi: Client Disconnected, will reconnect shortly\n");
-					avahi_entry_group_free( avahiGroup );
-					avahiGroup = NULL;
-					avahi_client_free( avahiClient );
-					avahiClient = NULL;
+					if (avahiGroup) {
+						avahi_entry_group_free(avahiGroup);
+						avahiGroup = NULL;
+					}
+					if (avahiClient)
+						avahi_client_free(avahiClient);
 					avahiClient = avahi_client_new( &avahiPoll, AVAHI_CLIENT_NO_FAIL,
 						avahiClientCallback, NULL, &reason );
 					if( !avahiClient ) {
-- 
cgit v1.2.3