[PATCH] skip . and .. in accurately in isbridge()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Hi all,

 In commit f88f8 "Skip . and .. in foreach_bridge test", the code skips
 all directories starting with dot.

 But if we create a bridge staring with dot, e.g. `.br0`, then `brctl show`
 cannot show this one.
 `.br0` should not be hidden, because we cannot find it except the command
 `brctl show .br0`.

Signed-off-by: Xiaochen Wang <wangxiaochen0@xxxxxxxxx>
---
 libbridge/libbridge_init.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/libbridge/libbridge_init.c b/libbridge/libbridge_init.c
index 1c1acbd..177a391 100644
--- a/libbridge/libbridge_init.c
+++ b/libbridge/libbridge_init.c
@@ -49,9 +49,12 @@ static int isbridge(const struct dirent *entry)
 	char path[SYSFS_PATH_MAX];
 	struct stat st;
 
-	if (entry->d_name[0] == '.')
+	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);
-- 
1.7.2.3

_______________________________________________
Bridge mailing list
Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/bridge


[Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]     [Linux Resources]

Add to Google Powered by Linux