diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2012-08-23 17:10:00 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-09-06 13:29:11 -0700 |
commit | 1b8cb9290671a4c025c16a51d316031f9ec04976 (patch) | |
tree | a335e3cb404474a9420b4e3f07044128c8f5e499 /drivers/base | |
parent | 45f035ab9b8f45aaf1eb2213218b7e9c14af3fc2 (diff) | |
download | linux-stable-1b8cb9290671a4c025c16a51d316031f9ec04976.tar.gz linux-stable-1b8cb9290671a4c025c16a51d316031f9ec04976.tar.bz2 linux-stable-1b8cb9290671a4c025c16a51d316031f9ec04976.zip |
driver core: Check if r->name is valid in platform_get_resource_byname()
Safety check for the validity of the resource name before calling strcmp().
If the resource name is NULL do not compare it, just skip it.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/platform.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 3f8077ce585c..ddeca142293c 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c @@ -103,6 +103,9 @@ struct resource *platform_get_resource_byname(struct platform_device *dev, for (i = 0; i < dev->num_resources; i++) { struct resource *r = &dev->resource[i]; + if (unlikely(!r->name)) + continue; + if (type == resource_type(r) && !strcmp(r->name, name)) return r; } |