Re: [PATCH] INPUT: fix hidinput_connect ignoring retval from input_register_device

From: Jeff Garzik
Date: Mon Oct 29 2007 - 03:53:30 EST


Dirk Hohndel wrote:
[INPUT] hidinput_connect incorrectly ignored return value from input_register_device

Signed-off-by: Dirk Hohndel <hohndel@xxxxxxxxxxxxxxx>

---
drivers/hid/hid-input.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index dd332f2..c8640e7 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -1186,13 +1186,19 @@ int hidinput_connect(struct hid_device *hid)
* UGCI) cram a lot of unrelated inputs into the
* same interface. */
hidinput->report = report;
- input_register_device(hidinput->input);
+ if (input_register_device(hidinput->input)) {
+ input_free_device(hidinput->input);
+ return -1;
+ }
hidinput = NULL;
}
}
if (hidinput)
- input_register_device(hidinput->input);
+ if (input_register_device(hidinput->input)) {
+ input_free_device(hidinput->input);
+ return -1;
+ }

You would also want to kfree(hidinput) on failure too.

Thanks for attacking this newly added warning!

Jeff



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/