Fix a spurious segfault when tearing down interfaces
authorSteven Barth <steven@midlink.org>
Wed, 21 May 2014 19:24:41 +0000 (21:24 +0200)
committerSteven Barth <steven@midlink.org>
Wed, 21 May 2014 19:24:41 +0000 (21:24 +0200)
Signed-off-by: Steven Barth <steven@midlink.org>
interface.c

index a4d7b8d..6ca1d0d 100644 (file)
@@ -319,7 +319,7 @@ interface_cb(struct device_user *dep, enum device_event ev)
                new_state = true;
        case DEV_EVENT_REMOVE:
                interface_set_available(iface, new_state);
                new_state = true;
        case DEV_EVENT_REMOVE:
                interface_set_available(iface, new_state);
-               if (!new_state && dep->dev->external)
+               if (!new_state && dep->dev && dep->dev->external)
                        interface_set_main_dev(iface, NULL);
                break;
        case DEV_EVENT_UP:
                        interface_set_main_dev(iface, NULL);
                break;
        case DEV_EVENT_UP: