diff options
Diffstat (limited to 'audio/headset.c')
| -rw-r--r-- | audio/headset.c | 11 | 
1 files changed, 7 insertions, 4 deletions
diff --git a/audio/headset.c b/audio/headset.c index 078f9332..1e7a6aad 100644 --- a/audio/headset.c +++ b/audio/headset.c @@ -1043,6 +1043,8 @@ static DBusHandlerResult hs_disconnect(struct headset *hs, DBusMessage *msg)  	DBusMessage *reply = NULL;  	char hs_address[18]; +	assert(hs); +  	if (msg) {  		reply = dbus_message_new_method_return(msg);  		if (!reply) @@ -1064,7 +1066,8 @@ static DBusHandlerResult hs_disconnect(struct headset *hs, DBusMessage *msg)  		hs->state = HEADSET_STATE_DISCONNECTED;  	} -	info("Disconnected from %s, %s", hs_address, hs->object_path); +	ba2str(&hs->bda, hs_address); +	info("Disconnected from %s, %s", &hs_address, hs->object_path ? hs->object_path : "null");  	hs_signal(hs, "Disconnected"); @@ -1176,6 +1179,7 @@ static DBusHandlerResult hs_connect(struct headset *hs, DBusMessage *msg)  {  	DBusPendingCall *pending;  	const char *hs_svc = "hsp"; +	const char *addr_ptr;  	char hs_address[18];  	assert(hs != NULL); @@ -1212,7 +1216,8 @@ static DBusHandlerResult hs_connect(struct headset *hs, DBusMessage *msg)  	}  	ba2str(&hs->bda, hs_address); -	dbus_message_append_args(msg, DBUS_TYPE_STRING, &hs_address, +	addr_ptr = hs_address; +	dbus_message_append_args(msg, DBUS_TYPE_STRING, &addr_ptr,  					DBUS_TYPE_STRING, &hs_svc,  					DBUS_TYPE_INVALID); @@ -1670,8 +1675,6 @@ void audio_manager_create_headset_server(struct manager *amanager, uint8_t chan)  	g_io_channel_set_close_on_unref(amanager->server_sk, TRUE);  	g_io_add_watch(amanager->server_sk, G_IO_IN, (GIOFunc) server_io_cb, amanager); - -	g_io_channel_unref(amanager->server_sk);  }  static gint headset_bda_cmp(gconstpointer aheadset, gconstpointer bda)  | 
