scandir() returns "." if a bridge named "bridge". this small patch fixed it for me.
--- ./libbridge/libbridge_init.c 2007-08-08 23:40:14.233046782 +0200 +++ ./libbridge/libbridge_init.c 2007-08-08 23:39:42.000000000 +0200 @@ -49,6 +49,9 @@ char path[SYSFS_PATH_MAX]; struct stat st; + if(entry->d_name[0] == '.') + return 0; + snprintf(path, SYSFS_PATH_MAX, SYSFS_CLASS_NET "%s/bridge", entry->d_name); return stat(path, &st) == 0 && S_ISDIR(st.st_mode); }