From 1d30ef6257897a8dc78ebe831c8e10834054f348 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 26 Jan 2008 22:16:35 +0000 Subject: zeroconf: avoid passing NULLs to Avahi *_free() routines This should fix Debian bug #428551 (mpd crashes when restarting the dbus daemon) r6844 in trunk git-svn-id: https://svn.musicpd.org/mpd/branches/branch-0.13.0-fixes@7158 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 eeec794cd..0b0163218 100644 --- a/src/zeroconf.c +++ b/src/zeroconf.c @@ -297,10 +297,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