[PATCH -next] staging: sb105x: fix potential NULL pointer dereference in mp_chars_in_buffer()

Wei Yongjun weiyj.lk at gmail.com
Thu Nov 29 02:30:01 UTC 2012


From: Wei Yongjun <yongjun_wei at trendmicro.com.cn>

The dereference to 'state' should be moved below the NULL test.

Signed-off-by: Wei Yongjun <yongjun_wei at trendmicro.com.cn>
---
 drivers/staging/sb105x/sb_pci_mp.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/sb105x/sb_pci_mp.c b/drivers/staging/sb105x/sb_pci_mp.c
index fbebf88..edb2a85 100644
--- a/drivers/staging/sb105x/sb_pci_mp.c
+++ b/drivers/staging/sb105x/sb_pci_mp.c
@@ -689,13 +689,14 @@ static int mp_chars_in_buffer(struct tty_struct *tty)
 static void mp_flush_buffer(struct tty_struct *tty)
 {
 	struct sb_uart_state *state = tty->driver_data;
-	struct sb_uart_port *port = state->port;
+	struct sb_uart_port *port;
 	unsigned long flags;
 
 	if (!state || !state->info) {
 		return;
 	}
 
+	port = state->port;
 	spin_lock_irqsave(&port->lock, flags);
 	uart_circ_clear(&state->info->xmit);
 	spin_unlock_irqrestore(&port->lock, flags);





More information about the devel mailing list