When a vport parse error occurs, the vport_class's parse_config function
doesn't necessarily store a valid pointer into the vport_info's 'config'
member, so netdev_vport_create() needs to supply a null pointer here to
avoiding passing a wild pointer to free().
info.devname = name;
info.type = netdev_class->type;
error = (c->parse_config)(&info, args);
- *configp = info.config;
+ *configp = error ? NULL : info.config;
return error;
} else {
if (!shash_is_empty(args)) {