From: Eric Sesterhenn If we enter the if(!zd) and set free to 1, we dereference zd in the exit code. Signed-off-by: Eric Sesterhenn Cc: "John W. Linville" Signed-off-by: Andrew Morton --- drivers/net/wireless/zd1201.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff -puN drivers/net/wireless/zd1201.c~possible-dereference-in-drivers-net-wireless-zd1201c drivers/net/wireless/zd1201.c --- a/drivers/net/wireless/zd1201.c~possible-dereference-in-drivers-net-wireless-zd1201c +++ a/drivers/net/wireless/zd1201.c @@ -193,10 +193,8 @@ static void zd1201_usbrx(struct urb *urb struct sk_buff *skb; unsigned char type; - if (!zd) { - free = 1; - goto exit; - } + if (!zd) + return; switch(urb->status) { case -EILSEQ: _