On Sep 11 2016 or thereabouts, Axel Lin wrote: > A kfree(readbuf) call was missed if hid_hw_raw_request() fails, fix it. > Also avoid mixing direct return with goto in the error paths. > > Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Cheers, Benjamin > --- > drivers/hid/hid-alps.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/hid/hid-alps.c b/drivers/hid/hid-alps.c > index 048befd..2808da9 100644 > --- a/drivers/hid/hid-alps.c > +++ b/drivers/hid/hid-alps.c > @@ -139,8 +139,8 @@ static int u1_read_write_register(struct hid_device *hdev, u32 address, > if (read_flag) { > readbuf = kzalloc(U1_FEATURE_REPORT_LEN, GFP_KERNEL); > if (!readbuf) { > - kfree(input); > - return -ENOMEM; > + ret = -ENOMEM; > + goto exit; > } > > ret = hid_hw_raw_request(hdev, U1_FEATURE_REPORT_ID, readbuf, > @@ -149,6 +149,7 @@ static int u1_read_write_register(struct hid_device *hdev, u32 address, > > if (ret < 0) { > dev_err(&hdev->dev, "failed read register (%d)\n", ret); > + kfree(readbuf); > goto exit; > } > > -- > 2.7.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html