diff --git a/libbridge/libbridge_init.c b/libbridge/libbridge_init.c index a7473bd..d093bb1 100644 --- a/libbridge/libbridge_init.c +++ b/libbridge/libbridge_init.c @@ -49,6 +49,12 @@ static int isbridge(const struct dirent *entry) char path[SYSFS_PATH_MAX]; struct stat st; + /* Ignore "." and ".." entries. */ + if (entry->d_name[0] == '.' && + (entry->d_name[1] == 0 || + (entry->d_name[1] == '.' && entry->d_name[2] == 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); }