• Dan Carpenter's avatar
    NTB: EPF: Tidy up some bounds checks · b8c0aa9b
    Dan Carpenter authored
    This sscanf() is reading from the filename which was set by the kernel
    so it should be trust worthy.  Although the data is likely trust worthy
    there is some bounds checking but unfortunately, it is not complete or
    consistent.  Additionally, the Smatch static checker marks everything
    that comes from sscanf() as tainted and so Smatch complains that this
    code can lead to an out of bounds issue.  Let's clean things up and make
    Smatch happy.
    
    The first problem is that there is no bounds checking in the _show()
    functions.  The _store() and _show() functions are very similar so make
    the bounds checking the same in both.
    
    The second issue is that if "win_no" is zero it leads to an array
    underflow so add an if (win_no <= 0) check for that.
    Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    Acked-by: default avatarSouptick Joarder (HPE) <jrdr.linux@gmail.com>
    Signed-off-by: default avatarJon Mason <jdmason@kudzu.us>
    b8c0aa9b
pci-epf-vntb.c 35.9 KB