diff options
| author | Andrew Morton <akpm@digeo.com> | 2003-06-10 10:09:54 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-06-10 10:09:54 -0700 |
| commit | 960fc49f4cbfd7533e6028661ba385e0b1665fad (patch) | |
| tree | c49de9e09b5e4dd0b9ea24d7c23dd182228f4940 | |
| parent | 14a645153934ad885888cb0752edc4e636b83201 (diff) | |
[PATCH] fix oops in driver/serial/core.c
From: hugang <hugang@soulinfo.com>
It has a rather blatant null pointer deref and attempted memory leak.
| -rw-r--r-- | drivers/serial/core.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/serial/core.c b/drivers/serial/core.c index 7a40034c9cb7..e56baaf1f0e2 100644 --- a/drivers/serial/core.c +++ b/drivers/serial/core.c @@ -2189,11 +2189,11 @@ int uart_register_driver(struct uart_driver *drv) void uart_unregister_driver(struct uart_driver *drv) { struct tty_driver *p = drv->tty_driver; - drv->tty_driver = NULL; tty_unregister_driver(p); kfree(drv->state); - kfree(drv->tty_driver->termios); - kfree(drv->tty_driver); + kfree(p->termios); + kfree(p); + drv->tty_driver = NULL; } struct tty_driver *uart_console_device(struct console *co, int *index) |
