staging: ks7010: fix memcmp() bug

Call site to memcmp() treats return value as if it were an error code,
it is not. If memcmp() finds inputs to be not the same, an error
return code should be set explicitly.

Correctly handle return value from call to memcmp(), set error code
explicitly.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Tobin C. Harding 2017-03-22 11:59:52 +11:00 committed by Greg Kroah-Hartman
parent 12eed2f2fb
commit 58af272b33
1 changed files with 2 additions and 2 deletions

View File

@ -695,8 +695,8 @@ static int ks7010_sdio_data_compare(struct ks_wlan_private *priv, u32 address,
if (ret)
goto err_free_read_buf;
ret = memcmp(data, read_buf, size);
if (ret) {
if (memcmp(data, read_buf, size) != 0) {
ret = -EIO;
DPRINTK(0, "data compare error (%d)\n", ret);
goto err_free_read_buf;
}