Fix a spurious segfault when tearing down interfaces
[project/netifd.git] / 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: