From eac35592452cdc3b7e6d9a0684d17c03fac94aba Mon Sep 17 00:00:00 2001 From: Michael Hunold Date: Mon, 23 Feb 2004 19:08:36 +0000 Subject: viro@parcelfarce.linux.theplanet.co.uk: [netdrvr dvb/dvb_net] fixes - Don't leave dvbnet->device[...] dangling after we free the sucker --- linux/drivers/media/dvb/dvb-core/dvb_net.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'linux') diff --git a/linux/drivers/media/dvb/dvb-core/dvb_net.c b/linux/drivers/media/dvb/dvb-core/dvb_net.c index 93bf8f699..2d4e65e91 100644 --- a/linux/drivers/media/dvb/dvb-core/dvb_net.c +++ b/linux/drivers/media/dvb/dvb-core/dvb_net.c @@ -582,7 +582,8 @@ static int dvb_net_add_if(struct dvb_net *dvbnet, u16 pid) net->base_addr = pid; if ((result = register_netdev(net)) < 0) { - kfree(net); + dvbnet->device[if_num] = NULL; + free_netdev(net); return result; } @@ -622,6 +623,7 @@ static int dvb_net_remove_if(struct dvb_net *dvbnet, int num) flush_scheduled_work(); unregister_netdev(net); dvbnet->state[num]=0; + dvbnet->device[num] = NULL; free_netdev(net); return 0; -- cgit v1.2.3