Index: uspace/srv/audio/hound/audio_sink.h
===================================================================
--- uspace/srv/audio/hound/audio_sink.h	(revision a94de68ac96389465a51e5e16fa8575f4f81357f)
+++ uspace/srv/audio/hound/audio_sink.h	(revision b893cd6e38419778cf2a6ff28cf08e07a9b8a4db)
@@ -59,5 +59,5 @@
 static inline audio_sink_t * audio_sink_list_instance(link_t *l)
 {
-	return list_get_instance(l, audio_sink_t, link);
+	return l ? list_get_instance(l, audio_sink_t, link) : NULL;
 }
 
Index: uspace/srv/audio/hound/audio_source.c
===================================================================
--- uspace/srv/audio/hound/audio_source.c	(revision a94de68ac96389465a51e5e16fa8575f4f81357f)
+++ uspace/srv/audio/hound/audio_source.c	(revision b893cd6e38419778cf2a6ff28cf08e07a9b8a4db)
@@ -59,4 +59,6 @@
 	list_initialize(&source->connections);
 	source->name = str_dup(name);
+	if (!source->name)
+		return ENOMEM;
 	source->private_data = data;
 	source->connection_change = connection_change;
Index: uspace/srv/audio/hound/audio_source.h
===================================================================
--- uspace/srv/audio/hound/audio_source.h	(revision a94de68ac96389465a51e5e16fa8575f4f81357f)
+++ uspace/srv/audio/hound/audio_source.h	(revision b893cd6e38419778cf2a6ff28cf08e07a9b8a4db)
@@ -60,5 +60,5 @@
 static inline audio_source_t * audio_source_list_instance(link_t *l)
 {
-	return list_get_instance(l, audio_source_t, link);
+	return l ? list_get_instance(l, audio_source_t, link) : NULL;
 }
 
Index: uspace/srv/audio/hound/connection.c
===================================================================
--- uspace/srv/audio/hound/connection.c	(revision a94de68ac96389465a51e5e16fa8575f4f81357f)
+++ uspace/srv/audio/hound/connection.c	(revision b893cd6e38419778cf2a6ff28cf08e07a9b8a4db)
@@ -54,6 +54,8 @@
 		list_append(&conn->sink_link, &sink->connections);
 		audio_sink_set_format(sink, audio_source_format(source));
-		source->connection_change(source, true);
-		sink->connection_change(sink, true);
+		if (source->connection_change)
+			source->connection_change(source, true);
+		if (sink->connection_change)
+			sink->connection_change(sink, true);
 	}
 	return conn;
