openvswitch: Fix memory leak in ovs_vport_alloc() error path
Subsystems (3)
PATCH 1/1 openvswitch: Fix memory leak in ovs_vport_alloc() error path
ovs_vport_alloc() bails out without freeing the memory 'vport' points to.
Picked up by Coverity - CID 1230503.
Fixes 5cd667b0a4 ("openvswitch: Allow each vport to have an array of 'port_id's.")
Signed-off-by Christoph Jaeger <[email protected]>
--- net/openvswitch/vport.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
net/openvswitch/vport.c +3 -1
@@ -137,8 +137,10 @@ struct vport *ovs_vport_alloc(int priv_size, const struct vport_ops *ops, vport->ops = ops;INIT_HLIST_NODE (&vport->dp_hash_node); -if (ovs_vport_set_upcall_portids (vport, parms->upcall_portids)) +if (ovs_vport_set_upcall_portids (vport, parms->upcall_portids)) { +kfree (vport);return ERR_PTR (-EINVAL ); + } vport->percpu_stats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);if (!vport->percpu_stats) {
Signature · 1 line
1.9.3
From: Christoph Jaeger <[email protected]>
Date: Tue, 12 Aug 2014 09:27:57 +0200
Quoted 6 lines
ovs_vport_alloc()bails out without freeing the memory 'vport' points to.Picked up by Coverity - CID 1230503.
Fixes 5cd667b0a4 ("openvswitch: Allow each vport to have an array of 'port_id's.")Signed-off-by Christoph Jaeger <[email protected]>
Applied, thanks.