aboutsummaryrefslogtreecommitdiff
path: root/lib/netdev.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2013-08-10 20:46:21 -0700
committerBen Pfaff <blp@nicira.com>2013-08-11 10:24:48 -0700
commitd72e22c8413ae12221d30df1c00b985433e14cee (patch)
tree01105de1e191dcd0d6a2e005ed77fd47cfb50b21 /lib/netdev.c
parentd33ed21806df93b394008f7d453f0fb1c185845a (diff)
netdev: Clean up on "construct" error in netdev_open().
Reported-by: ZhengLingyun <konghuarukhr@163.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'lib/netdev.c')
-rw-r--r--lib/netdev.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/netdev.c b/lib/netdev.c
index 0e8ec582..088aea90 100644
--- a/lib/netdev.c
+++ b/lib/netdev.c
@@ -328,6 +328,9 @@ netdev_open(const char *name, const char *type, struct netdev **netdevp)
atomic_add(&rc->ref_cnt, 1, &old_ref_cnt);
} else {
+ free(netdev->name);
+ ovs_assert(list_is_empty(&netdev->saved_flags_list));
+ shash_delete(&netdev_shash, netdev->node);
rc->class->dealloc(netdev);
}
} else {