From: Greg KH <greg@kroah.com>
To: linux-kernel@vger.kernel.org
Cc: Jesper Juhl <jesper.juhl@gmail.com>, Greg Kroah-Hartman <gregkh@suse.de>
Subject: [PATCH 13/16] Driver core: Don't leak 'old_class_name' in drivers/base/core.c::device_rename()
Date: Wed, 18 Oct 2006 13:09:04 -0700 [thread overview]
Message-ID: <11612021872574-git-send-email-greg@kroah.com> (raw)
In-Reply-To: <11612021841579-git-send-email-greg@kroah.com>
From: Jesper Juhl <jesper.juhl@gmail.com>
If kmalloc() fails to allocate space for 'old_symlink_name' in
drivers/base/core.c::device_rename(), then we'll leak 'old_class_name'.
Spotted by the Coverity checker.
Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/core.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 365f709..41f3dca 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -809,8 +809,10 @@ int device_rename(struct device *dev, ch
if (dev->class) {
old_symlink_name = kmalloc(BUS_ID_SIZE, GFP_KERNEL);
- if (!old_symlink_name)
- return -ENOMEM;
+ if (!old_symlink_name) {
+ error = -ENOMEM;
+ goto out_free_old_class;
+ }
strlcpy(old_symlink_name, dev->bus_id, BUS_ID_SIZE);
}
@@ -834,9 +836,10 @@ int device_rename(struct device *dev, ch
}
put_device(dev);
- kfree(old_class_name);
kfree(new_class_name);
kfree(old_symlink_name);
+ out_free_old_class:
+ kfree(old_class_name);
return error;
}
--
1.4.2.4
next prev parent reply other threads:[~2006-10-18 20:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-18 19:58 [GIT PATCH] Driver Core fixes for 2.6.19-rc2 Greg KH
2006-10-18 20:08 ` [PATCH 1/16] Documentation: feature-removal-schedule typo Greg KH
2006-10-18 20:08 ` [PATCH 2/16] Driver core: plug device probe memory leak Greg KH
2006-10-18 20:08 ` [PATCH 3/16] Fix dev_printk() is now GPL-only Greg KH
2006-10-18 20:08 ` [PATCH 4/16] HOWTO: bug report addition Greg KH
2006-10-18 20:08 ` [PATCH 5/16] sysfs: remove duplicated dput in sysfs_update_file Greg KH
2006-10-18 20:08 ` [PATCH 6/16] sysfs: update obsolete comment " Greg KH
2006-10-18 20:08 ` [PATCH 7/16] driver core fixes: sysfs_create_link() retval check in class.c Greg KH
2006-10-18 20:08 ` [PATCH 8/16] driver core fixes: bus_add_attrs() retval check Greg KH
2006-10-18 20:09 ` [PATCH 9/16] driver core fixes: bus_add_device() cleanup on error Greg KH
2006-10-18 20:09 ` [PATCH 10/16] driver core fixes: device_add() " Greg KH
2006-10-18 20:09 ` [PATCH 11/16] driver core fixes: device_create_file() retval check in dmapool.c Greg KH
2006-10-18 20:09 ` [PATCH 12/16] driver core fixes: sysfs_create_group() retval in topology.c Greg KH
2006-10-18 20:09 ` Greg KH [this message]
2006-10-18 20:09 ` [PATCH 14/16] Driver core: Don't ignore error returns from probing Greg KH
2006-10-18 20:09 ` [PATCH 15/16] Driver core: bus: remove indentation level Greg KH
2006-10-18 20:09 ` [PATCH 16/16] driver core: kmalloc() failure check in driver_probe_device Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11612021872574-git-send-email-greg@kroah.com \
--to=greg@kroah.com \
--cc=gregkh@suse.de \
--cc=jesper.juhl@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.