I've found a couple of more places where snd_config_delete is called indirectly by snd_device_name_hint, causing failure in another case:
http://jira.atheme.org/browse/AUDPLUG-101 I am attaching a patch that removes these calls and seems to fix the problem; however, with this patch, not only the null device but all devices returned by snd_device_name_hint are listed twice, so a complete fix may be more complicated. Peace, John Lindgren
--- conf.0.c 2009-09-09 08:34:54.000000000 -0400 +++ conf.c 2009-10-22 23:51:09.000000000 -0400 @@ -1132,7 +1132,6 @@ free(id); continue; } - snd_config_delete(n); } if (mode == MERGE) { SNDERR("%s does not exists", id); @@ -1156,7 +1155,6 @@ skip = 1; n = NULL; } else if (mode == OVERRIDE) { - snd_config_delete(n); n = NULL; } } else {