diff options
author | Kulikov Vasiliy <segooon@gmail.com> | 2010-08-11 04:00:48 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-31 17:51:53 -0400 |
commit | c7e62defd3c4a015b1f80a642bc320b9f9f3896c (patch) | |
tree | fcef9fed59ff0cf1eee18519d97f61bcad5b7b6c | |
parent | cd6541c03d0777963615d00b22ff8a4c8ee8d601 (diff) |
staging: adis16255: fix sysfs leak
Original code does not call sysfs_remove_group() on error. This can lead
to NULL dereference.
Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/staging/adis16255/adis16255.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/staging/adis16255/adis16255.c b/drivers/staging/adis16255/adis16255.c index c3e6a4d5f33..8d4d7cbab97 100644 --- a/drivers/staging/adis16255/adis16255.c +++ b/drivers/staging/adis16255/adis16255.c | |||
@@ -406,12 +406,14 @@ static int __devinit spi_adis16255_probe(struct spi_device *spi) | |||
406 | 406 | ||
407 | status = spi_adis16255_bringup(spiadis); | 407 | status = spi_adis16255_bringup(spiadis); |
408 | if (status != 0) | 408 | if (status != 0) |
409 | goto irq_err; | 409 | goto sysfs_err; |
410 | 410 | ||
411 | dev_info(&spi->dev, "spi_adis16255 driver added!\n"); | 411 | dev_info(&spi->dev, "spi_adis16255 driver added!\n"); |
412 | 412 | ||
413 | return status; | 413 | return status; |
414 | 414 | ||
415 | sysfs_err: | ||
416 | sysfs_remove_group(&spiadis->spi->dev.kobj, &adis16255_attr_group); | ||
415 | irq_err: | 417 | irq_err: |
416 | free_irq(spiadis->irq, spiadis); | 418 | free_irq(spiadis->irq, spiadis); |
417 | gpio_err: | 419 | gpio_err: |