diff options
author | Roel Kluin <roel.kluin@gmail.com> | 2009-08-29 22:20:34 +0200 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-08-31 09:09:29 +1000 |
commit | 1ae70072f0699916c1a77a9bacad958ee46f7395 (patch) | |
tree | e6a0c1b23fa9d17b960b556e71524c3c198cfe07 | |
parent | ff846ab7f76ffecba4f0bef026163d2a2364d7d0 (diff) | |
download | linux-stable-1ae70072f0699916c1a77a9bacad958ee46f7395.tar.gz linux-stable-1ae70072f0699916c1a77a9bacad958ee46f7395.tar.bz2 linux-stable-1ae70072f0699916c1a77a9bacad958ee46f7395.zip |
drm: dereference of tmp in drm_proc_create_files()
tmp allocation may fail, prevent a dereference.
Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/drm_proc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_proc.c b/drivers/gpu/drm/drm_proc.c index bbd4b3d1074a..dc967af7a33c 100644 --- a/drivers/gpu/drm/drm_proc.c +++ b/drivers/gpu/drm/drm_proc.c @@ -106,6 +106,10 @@ int drm_proc_create_files(struct drm_info_list *files, int count, continue; tmp = kmalloc(sizeof(struct drm_info_node), GFP_KERNEL); + if (tmp == NULL) { + ret = -1; + goto fail; + } ent = create_proc_entry(files[i].name, S_IFREG | S_IRUGO, root); if (!ent) { DRM_ERROR("Cannot create /proc/dri/%s/%s\n", |