]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
char: ppdev: Fix a possible null-pointer dereference in pp_release()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Wed, 24 Jul 2019 09:04:26 +0000 (17:04 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jul 2019 11:21:15 +0000 (13:21 +0200)
commit7bdd9695970eb8cd5b987e08f99cb8f0c84f30fd
treebfa33fca2a670b52ce2cff43f73c4474eed44b04
parent092f47c383adbff4d873dcb7f0887954bd407a08
char: ppdev: Fix a possible null-pointer dereference in pp_release()

In pp_release(), there is an if statement on line 730 to check whether
pp->pdev is NULL:
    else if ((pp->flags & PP_CLAIMED) && pp->pdev && ...)

When pp->pdev is NULL, it is used on line 743:
    info = &pp->pdev->port->ieee1284;
and on line 748:
    parport_release(pp->pdev);

Thus, a possible null-pointer dereference may occur.

To fix this bug, pp->pdev is checked on line 740.

This bug is found by a static analysis tool STCheck written by us.

Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Link: https://lore.kernel.org/r/20190724090426.1401-1-baijiaju1990@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/ppdev.c