interface: add neighbor config support
[project/netifd.git] / veth.c
diff --git a/veth.c b/veth.c
index e109f273aedefa8b3872b8f9fb7bab7b640cc8a1..eafa4cf97bbbf5523e574a72e53ddc37f7c35d11 100644 (file)
--- a/veth.c
+++ b/veth.c
@@ -218,7 +218,12 @@ veth_create(const char *name, struct device_type *devtype,
                return NULL;
 
        dev = &veth->dev;
-       device_init(dev, devtype, name);
+       if (device_init(dev, devtype, name) < 0) {
+               device_cleanup(dev);
+               free(veth);
+               return NULL;
+       }
+
        dev->config_pending = true;
 
        veth->set_state = dev->set_state;