diff options
| -rw-r--r-- | network/bridge.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/network/bridge.c b/network/bridge.c index 24f1bcc4..e481ca80 100644 --- a/network/bridge.c +++ b/network/bridge.c @@ -39,6 +39,7 @@  #include <bluetooth/bnep.h>  #include "bridge.h" +#include "common.h"  static int bridge_socket = -1;  static const char *gn_bridge; @@ -86,6 +87,10 @@ int bridge_remove(int id)  	int err;  	const char *name = bridge_get_name(id); +	err = bnep_if_down(name); +	if (err < 0) +		return err; +  	err = ioctl(bridge_socket, SIOCBRDELBR, name);  	if (err < 0)  		return -errno; @@ -99,6 +104,9 @@ int bridge_add_interface(int id, const char *dev)  	int ifindex = if_nametoindex(dev);  	const char *name = bridge_get_name(id); +	if (!name) +		return -EINVAL; +  	if (ifindex == 0)  		return -ENODEV;  | 
