• Dan Carpenter's avatar
    cciss: freeing uninitialized data on error path · b0722cb1
    Dan Carpenter authored
    The "h->scatter_list" is allocated inside a for loop.  If any of those
    allocations fail, then the rest of the list is uninitialized data.  When
    we free it we should start from the top and free backwards so that we
    don't call kfree() on uninitialized pointers.
    
    Also if the allocation for "h->scatter_list" fails then we would get an
    Oops here.  I should have noticed this when I send: 4ee69851 "cciss:
    handle allocation failure."  but I didn't.  Sorry about that.
    Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
    Signed-off-by: default avatarJens Axboe <jaxboe@fusionio.com>
    b0722cb1
cciss.c 139 KB