summaryrefslogtreecommitdiff
path: root/veth.c
diff options
context:
space:
mode:
Diffstat (limited to 'veth.c')
-rw-r--r--veth.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/veth.c b/veth.c
index e109f27..eafa4cf 100644
--- 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;