lkml.org 
[lkml]   [2015]   [Apr]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 2/3] staging: dgnc: don't forget to check if ->channels[i] is NULL in dgnc_tty_uninit()
    Date
    Add a check if ->channels[i] is NULL because a NULL pointer may be dereferenced
    in case one of the allocations failed

    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@gmail.com>
    ---
    v4: new patch that fixes a bug reported by Dan Carpenter

    drivers/staging/dgnc/dgnc_tty.c | 8 ++++++--
    1 file changed, 6 insertions(+), 2 deletions(-)

    diff --git a/drivers/staging/dgnc/dgnc_tty.c b/drivers/staging/dgnc/dgnc_tty.c
    index 0e48f95..785eb6c 100644
    --- a/drivers/staging/dgnc/dgnc_tty.c
    +++ b/drivers/staging/dgnc/dgnc_tty.c
    @@ -403,7 +403,9 @@ void dgnc_tty_uninit(struct dgnc_board *brd)
    dgnc_BoardsByMajor[brd->SerialDriver.major] = NULL;
    brd->dgnc_Serial_Major = 0;
    for (i = 0; i < brd->nasync; i++) {
    - dgnc_remove_tty_sysfs(brd->channels[i]->ch_tun.un_sysfs);
    + if (brd->channels[i])
    + dgnc_remove_tty_sysfs(brd->channels[i]->
    + ch_tun.un_sysfs);
    tty_unregister_device(&brd->SerialDriver, i);
    }
    tty_unregister_driver(&brd->SerialDriver);
    @@ -414,7 +416,9 @@ void dgnc_tty_uninit(struct dgnc_board *brd)
    dgnc_BoardsByMajor[brd->PrintDriver.major] = NULL;
    brd->dgnc_TransparentPrint_Major = 0;
    for (i = 0; i < brd->nasync; i++) {
    - dgnc_remove_tty_sysfs(brd->channels[i]->ch_pun.un_sysfs);
    + if (brd->channels[i])
    + dgnc_remove_tty_sysfs(brd->channels[i]->
    + ch_pun.un_sysfs);
    tty_unregister_device(&brd->PrintDriver, i);
    }
    tty_unregister_driver(&brd->PrintDriver);
    --
    2.3.5


    \
     
     \ /
      Last update: 2015-04-07 18:41    [W:3.934 / U:0.168 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site